Есть ли способ сделать несколько вызовов замены внутри запроса - PullRequest
0 голосов
/ 16 августа 2011

У меня есть запрос, который выглядит так:

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

Теперь мне нужно сделать несколько замен в поле, прежде чем вычислять его длину.

т.е. мне нужно сделать что-то вроде:

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

что, очевидно, неверный SQL.

Есть ли способ сделать это?

Я использую MS-SQL 2008, если это имеет значение.

Ответы [ 2 ]

3 голосов
/ 16 августа 2011

Да!Вы просто должны вложить их

select
replace(
    replace(address,' CA','')
, '   CA','') as blerg
from TBl
1 голос
/ 16 августа 2011

Вам нужно будет вложить вызовы функций так:

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

Приведенный выше запрос даст вам длину строки после замены "CA" и "NY" на "". Я поменял ваш второй "CA" на "NY", потому что замена "CA" на "" дважды является излишней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...