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

Откуда: г. Иркутск
Сообщений: 162
DROP TABLE #TestTbl
CREATE TABLE #TestTbl (id_ int identity(1,1), CharFld char(10))
INSERT INTO #TestTbl (CharFld) VALUES ('a')
INSERT INTO #TestTbl (CharFld) VALUES ('b')
INSERT INTO #TestTbl (CharFld) VALUES ('a')
INSERT INTO #TestTbl (CharFld) VALUES (NULL)

SELECT id_ FROM #TestTbl WHERE CharFld not in('a')

В результате выдает
2

А должен, наверное,
2
4
8 окт 04, 07:18    [1017585]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по значению NULL  [new]
Trong
Member

Откуда: Novosibirsk
Сообщений: 759
Или так:
SET ANSI_NULLS OFF

Или так:
DROP TABLE #TestTbl
CREATE TABLE #TestTbl (id_ int identity(1,1), CharFld char(10))
INSERT INTO #TestTbl (CharFld) VALUES ('a')
INSERT INTO #TestTbl (CharFld) VALUES ('b')
INSERT INTO #TestTbl (CharFld) VALUES ('a')
INSERT INTO #TestTbl (CharFld) VALUES (NULL)

SELECT id_ FROM #TestTbl WHERE CharFld not in('a') or CharFld is null
8 окт 04, 07:25    [1017593]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по значению NULL  [new]
Philin
Member

Откуда: г. Иркутск
Сообщений: 162
спасибо
8 окт 04, 07:46    [1017609]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по значению NULL  [new]
vma_mnt
Member

Откуда: Новокузнецк
Сообщений: 602
Я на такое тоже натыкался.

Использовал

SELECT id_ FROM #TestTbl WHERE (CharFld not in('a')) and (CharFld is not null)
8 окт 04, 08:48    [1017675]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по значению NULL  [new]
Breakneck
Member

Откуда: Kiev
Сообщений: 2454
Можно еще применить ISNULL, только надо определить значение, которого наверняка не будет в списке в колонке:
SELECT id_ FROM #TestTbl WHERE ISNULL(CharFld,'') not in('a')
8 окт 04, 11:42    [1018467]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить