回答

收藏

使用Replace()选择

技术问答 技术问答 371 人阅读 | 0 人回复 | 2023-09-14

我有一个名字和地址表,包括邮政编码列。我想从邮政编码中删除空格,然后选择任何与特定模式匹配的空格。SQL Server 2005的T-
- Q$ b6 ?" D! N1 @6 lSQL尝试这种方法(简化):+ F) A' R) t- s# E- Q. ~
SELECT Replace(Postcode, ,''''' AS PFROM ContactsWHERE P LIKE 'NW101%'但我犯了以下错误;; z# p, c% c! ]! I1 t
Msg 207,Level 16,State 1,Line 3Invalid column name 'P'.如果删除WHERE子句,我会得到一个不含空间的邮政编码列表,这是我要搜索的列表。我该怎么办?我做错了什么?
9 y: o4 Q& F* x! n# b9 w                                                                % s  D- K  Q9 B5 E  x2 E, z; ~
    解决方案:                                                               
1 u6 o, q- c, n) P% A7 I8 s                                                                不要P在WHERE别名()直接用于子句中。6 Y- n9 m7 l: t. q  U
您可以REPLACE在WHERE同样的逻辑在句子中再次使用:
  w5 I  ]$ d0 Q& d. S( }SELECT Replace(Postcode, ,''''' AS PFROM ContactsWHERE Replace(Postcode, ,''''' LIKE 'NW101%'或使用别名答案中提到的别名查询。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则