Sql 如果存在,则用数字替换邮政编码

Sql 如果存在,则用数字替换邮政编码,sql,tsql,Sql,Tsql,我希望在一个语句中有一个sql查询,它可以通过一个邮政编码,如果它在那个邮政编码中,那么就用文字测试来替换它 For example: SELECT [Postcode] FROM [TABLE] WHERE user = 'user' AND [Postcode] IN ('000 000') SELECT REPLACE ('{[postcode]}' ,'000 000','test data') 我正在考虑使用嵌套SQL。还有什么我可以把上面的两条语句合并成一条吗?我想你正在寻找这个

我希望在一个语句中有一个sql查询,它可以通过一个邮政编码,如果它在那个邮政编码中,那么就用文字测试来替换它

For example:
SELECT [Postcode]
FROM [TABLE]
WHERE user = 'user'
AND [Postcode] IN ('000 000')

SELECT REPLACE
('{[postcode]}'
,'000 000','test data')

我正在考虑使用嵌套SQL。还有什么我可以把上面的两条语句合并成一条吗?

我想你正在寻找这个:

SELECT --[Postcode], 
  case when [PostCode] = '000 000' then REPLACE([Postcode],'000 000','test data') else [PostCode] end as [Postcode]
FROM [TABLE]
WHERE user = 'user'
--AND [Postcode] IN ('000 000')

你好,谢谢。但是有没有办法添加多个邮政编码?如果邮政编码不在“000000”范围内,那么这会被忽略,并且语句将通过正常邮政编码而不是继续执行吗?检查更新的查询,我认为您在case语句中查找此条件啊,好的,我们如何添加多个邮政编码?:)它可以工作,但这只适用于一个,但我们需要添加大约40个。3个零之间有空间,因此您无法将其转换为int,如果仍然要转换为int,则需要替换(邮政编码“”,“”)。。但是如果你想要这个,为什么你首先要转换成000 000 000?对不起,你是什么意思?您提供的代码正确工作:)如所述。但是,我们只需要向其添加多个邮政编码?:)