SQL шаблон выражения соответствия - PullRequest
2 голосов
/ 07 октября 2011

Я хочу проверить шаблон в sql, чтобы в этом выражении (или ячейке таблицы) было что-либо, кроме числового, что-либо, кроме нумерации, возвращать 1. Если вся эта ячейка имеет только числовые значения, она должна возвращать 0

экв:

case when '200290' like [anything other than numbers]
then 1
else o

Ответы [ 2 ]

2 голосов
/ 07 октября 2011

В SQL Server вы можете использовать что-то вроде (я не пишу всю функцию для вас):

DECLARE @t varchar(100) = '231321321321'

SELECT CASE WHEN PATINDEX('%[^0-9]%', @t) > 0 THEN 1
            ELSE 0 END
0 голосов
/ 28 октября 2011
SELECT CASE CHARACTERS(OTRANSLATE(<your_string>,'a1234567890','a')) 
WHEN 0 THEN 0 ELSE 1 END;

Ex:.

     -- BTEQ  Enter your SQL request or BTEQ command:
SELECT CASE CHARACTERS(OTRANSLATE('12345','a1234567890','a')) 
WHEN 0 THEN 0 ELSE 1 END;

* Запрос завершен. Один ряд найден. Один столбец вернулся. * Общее прошедшее время составило 1 секунду.

<CASE  expression>
------------------
                 0

SELECT CASE CHARACTERS(OTRANSLATE('1a23b45c','a1234567890','a')) WHEN 0 THEN 0 ELSE 1 END;

* Запрос завершен. Один ряд найден. Один столбец вернулся. * Общее прошедшее время составило 1 секунду.

<CASE  expression>
------------------
                 1
...