使用Replace()选择
我有一个名字和地址表,包括邮政编码列。我想从邮政编码中删除空格,然后选择任何与特定模式匹配的空格。SQL Server 2005的T-SQL尝试这种方法(简化):
SELECT Replace(Postcode, ,''''' AS PFROM ContactsWHERE P LIKE 'NW101%'但我犯了以下错误;
Msg 207,Level 16,State 1,Line 3Invalid column name 'P'.如果删除WHERE子句,我会得到一个不含空间的邮政编码列表,这是我要搜索的列表。我该怎么办?我做错了什么?
解决方案:
不要P在WHERE别名()直接用于子句中。
您可以REPLACE在WHERE同样的逻辑在句子中再次使用:
SELECT Replace(Postcode, ,''''' AS PFROM ContactsWHERE Replace(Postcode, ,''''' LIKE 'NW101%'或使用别名答案中提到的别名查询。
页:
[1]