2012-03-05 2 views
1

Мне нужна помощь в этом. Предполагая folllowing таблицу:Запрос для извлечения строк, где значения пустые или только числовые

http://img820.imageshack.us/img820/6821/captureior.png

Мне нужен запрос SQL сервера, чтобы выбрать строку 2 только (S1) и получить какой пункт в колонке (т.е. S1 ... S5) Не должно к

это возвращает что-то вроде этого:

S1 
S2 
T1 
T2 
T3 
S3 
S4 

(я намерен связать строк элементов в этой ListBox)

ответ

2

Ну, с простой ванили SQL вы не имеют встроенного способа проверить, является ли данное значение числовым или нет. Однако, для вашего конкретного случая вы можете просто проверить, если значение не равно нулю и не содержит K:

select * from YourTable where sr is not null and sr not like '%k%' 

Если есть другие возможные удобства числовые символы, чем к, которые могут быть в таблице, ваш лучший выбор чтобы сделать некоторую хранимую процедуру, которая проверяет каждый символ данного стрига, если он является числовым или нет, и использовать это значение

+1

+1 - Хотя в этом случае 'sr NOT LIKE '% k%'' будет фильтровать 'NULL' также – Lamak

+0

@Lamak: +1, это очень верно, подумал, что не нулевая проверка сначала может заставить работу работать быстрее ... –

Смежные вопросы