Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Почему во временной таблице не выполняется запрос с условием на NULL?

Почему во временной таблице не выполняется запрос с условием на NULL?
Я
   Механик
 
27.12.21 - 13:40
Делаю такой запрос, чтобы в УТ вывести контрагентов, по которым нет хозяйствующих субъектов в соответствующем справочнике. В ВТ создается таблица, где поля "Контрагент" заполнены все, а часть полей "ХозяйствующийСубъект" либо заполнены, либо равны NULL. Почему же тогда во второй части запроса, если я хочу выбрать из ВТ только записи, где ХозяйствующийСубъект = NULL - то результат запроса - пустой?

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    ХозяйствующиеСубъектыВЕТИС.Ссылка КАК ХозяйствующийСубъект
ПОМЕСТИТЬ ВТ
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХозяйствующиеСубъектыВЕТИС КАК ХозяйствующиеСубъектыВЕТИС
        ПО (Контрагенты.Ссылка = ХозяйствующиеСубъектыВЕТИС.Контрагент)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Контрагент КАК Контрагент,
    ВТ.ХозяйствующийСубъект КАК ХозяйствующийСубъект,
    ТИПЗНАЧЕНИЯ(ВТ.ХозяйствующийСубъект) КАК ХозяйствующийСубъектТипЗначения
ИЗ
    ВТ КАК ВТ
ГДЕ
    ВТ.ХозяйствующийСубъект = NULL
   runoff_runoff
 
1 - 27.12.21 - 13:41
ВТ.ХозяйствующийСубъект ЕСТЬ NULL
   H A D G E H O G s
 
2 - 27.12.21 - 13:43
(0) Любое сравнение с NULL через равенство возвращает ЛОЖЬ
   Kassern
 
3 - 27.12.21 - 13:43
   H A D G E H O G s
 
4 - 27.12.21 - 13:43
Конечно, это не касается кода 1С, в котором с null можно сравнивать.
   H A D G E H O G s
 
5 - 27.12.21 - 13:44
Но лучше тебе расскажет про null аппологет и кудесник null-ов, Ненавижу 1С.
   Механик
 
6 - 27.12.21 - 13:48
(3) Тут статья про ЕСТЬNULL, однако про замену знака равенства на "ЕСТЬ" не написано... Но всё равно спасибо)
   Жан Пердежон
 
7 - 27.12.21 - 13:53
(2) разве не NULL?
   hhhh
 
8 - 27.12.21 - 14:20
(6) такой статьи не может быть чисто физически, потому что тем, кто нипишет = NULL сразу отрубают руки.
   Ненавижу 1С
 
9 - 27.12.21 - 14:27
(7) именно так:

ВЫБРАТЬ
    1 КАК Поле1
ГДЕ
    (1 = NULL) есть NULL
   Dmitrii
 
10 - 27.12.21 - 14:38
(6) https://its.1c.ru/db/metod8dev/content/2512/hdoc
Это правильная ссылка.
   Жан Пердежон
 
11 - 27.12.21 - 15:34
(9) ну так сравнение через равенство c NULL и возвращает NULL, а не ЛОЖЬ, всегда так было
   Ненавижу 1С
 
12 - 27.12.21 - 15:35
(11) так и я про тоже, а не (2)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.