Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 можно ли заставить sql sever прекращать проверку условий выборки при первом промахе?  [new]
BERSERC
Member

Откуда:
Сообщений: 442
Есть табличка в которой есть столбец NAPR_CODE ,который содержит буквы/цифры номера направления.

Нужно сделать фильтр по части этого номера, как почислу. Если сачала отфильтровать те навправления, в которых NAPR_CODE <> '' а потом из результата этого запроса отфильтровать нужный диапазон, то все ок.
Но если напсиать все в 1 запрос, то выдается ошибка что передается -1 в SUBSTRING (а это случается в тех случаях, когда номера направления нет)

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

SELECT * FROM NAPR
WHERE
ISNULL(NAPR_CODE,'') <> ''
AND CAST(RIGHT(NAPR_CODE,PATINDEX('%[^0-9]%',REVERSE(NAPR_CODE))-1) as INT) between 0 and 9999


получается ошибка:
Invalid length parameter passed to the substring function.


(SQL 2000)
1 июн 09, 13:00    [7251016]     Ответить | Цитировать Сообщить модератору
 Re: можно ли заставить sql sever прекращать проверку условий выборки при первом промахе?  [new]
BERSERC
Member

Откуда:
Сообщений: 442
можно-ли заставить сервер не проверять дальше условыия выборки, если 1 учловие уже не выполнилось?
1 июн 09, 13:01    [7251024]     Ответить | Цитировать Сообщить модератору
 Re: можно ли заставить sql sever прекращать проверку условий выборки при первом промахе?  [new]
AlexanderVS
Member

Откуда: Krasnoyarsk
Сообщений: 433
ну так замени во второй части NAPR_CODE (через ISNULL) чем-нибудь внятным
1 июн 09, 13:19    [7251098]     Ответить | Цитировать Сообщить модератору
 Re: можно ли заставить sql sever прекращать проверку условий выборки при первом промахе?  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
SELECT * FROM NAPR
WHERE NAPR_CODE<>'' 
AND CAST(RIGHT(NAPR_CODE, NULLIF(PATINDEX('%[^0-9]%', REVERSE(NAPR_CODE)),0)-1) AS INT)<10000
1 июн 09, 13:54    [7251290]     Ответить | Цитировать Сообщить модератору
 Re: можно ли заставить sql sever прекращать проверку условий выборки при первом промахе?  [new]
BERSERC
Member

Откуда:
Сообщений: 442
спасибо, так и сделал =)
1 июн 09, 14:17    [7251426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить