回答

收藏

使用Replace()选择

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

我有一个名字和地址表,包括邮政编码列。我想从邮政编码中删除空格,然后选择任何与特定模式匹配的空格。SQL Server 2005的T-
; W6 n% `3 W# }: ~. {9 i( JSQL尝试这种方法(简化):8 D6 _% G( _: u! S7 H% q: z
SELECT Replace(Postcode, ,''''' AS PFROM ContactsWHERE P LIKE 'NW101%'但我犯了以下错误;
, F! z2 b; Q" P5 pMsg 207,Level 16,State 1,Line 3Invalid column name 'P'.如果删除WHERE子句,我会得到一个不含空间的邮政编码列表,这是我要搜索的列表。我该怎么办?我做错了什么?( R3 K& D8 r! ?7 A9 {
                                                                % Y- I, n+ Y+ p
    解决方案:                                                                7 o4 f' r4 y5 v3 |9 X0 n& E$ T
                                                                不要P在WHERE别名()直接用于子句中。
! G. O' X3 d( {# l- D1 D6 E9 G$ n# a您可以REPLACE在WHERE同样的逻辑在句子中再次使用:
: m( x: ~: n' X1 Y. S" E' USELECT Replace(Postcode, ,''''' AS PFROM ContactsWHERE Replace(Postcode, ,''''' LIKE 'NW101%'或使用别名答案中提到的别名查询。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则