有没有办法在查询中进行多次替换调用

时间:2011-08-16 18:01:12

标签: sql replace

我有一个看起来像的查询:

SELECT LEN(REPLACE(address, ' CA', '')) FROM Tbl

我现在需要在计算它的长度之前对一个字段进行多次替换。

即,我需要做类似的事情:

SELECT LEN(REPLACE(address, ' CA', '') AND REPLACE(address, ' CA', '')) FROM Tbl

这显然是不正确的SQL。

有办法做到这一点吗?

如果重要的话,我正在使用MS-SQL 2008.

2 个答案:

答案 0 :(得分:3)

是的!你只需要嵌套它们

select
replace(
    replace(address,' CA','')
, '   CA','') as blerg
from TBl

答案 1 :(得分:1)

你需要像这样嵌套函数调用:

SELECT LEN(REPLACE(REPLACE(address, ' CA', ''), ' NY', '')) FROM Tbl

上面的查询将使用“”替换“CA”和“NY”后的字符串长度。我用“NY”换掉了你的第二个“CA”,因为用“”两次替换“CA”是多余的。

相关问题