ПредишенСледващото

NULL стойност означава, че стойността на колоната не е известна или е невалиден. NULL не е синоним на числов или двоична нула, низ с нулева дължина или нулев характер. NULL стойности се използват за разграничаване на нула (за цифрови колони) или празен (за характер колони) записи от липса на записи (NULL както за цифров и символично за колони).

NULL стойност може да се влезе в колоната, за който позволи на нулева стойност (както е посочено в отчета за Създаване на таблица) по два начина.

SQL Server автоматично влиза в NULL стойност, ако колоната не е в данните, както и ако поставите не съдържа стандартни или по подразбиране ограничения върху тази колона (или тип данни).

Потребителят може изрично да въведете NULL стойност, като напишете думата NULL без кавички. NULL ако думата е вписан в колона характер в кавички се третира като комбинация от букви N, U, L и L, а не като стойност NULL.

При получаване NULL приложение обикновено показва стойности на съответната позиция NULL низ от формата, (NULL) или (нула). Така например, в колоната Цвят на таблицата с продукти са разрешени NULL стойности:

При сравняване на NULL стойности, за да бъдете внимателни. поведение на средата в това сравнение е в зависимост от стойността на SET ANSI_NULLS.

Ако стойността е равна на SET ANSI_NULLS ON, сравнение с един или повече изрази равни на NULL, не извежда резултата вярно или невярно, и изходи неизвестен. Това е така, защото неизвестен стойност не може да се сравни с логически друга стойност. Това се случва в два случая: или когато експресията се сравнява с NULL буквално, или когато се сравняват два израза, един от които е равна на NULL. Така например, в резултат на следващия сравнението е винаги НЕИЗВЕСТЕН ​​когато ANSI_NULLS стойност параметър, определен в ON:

Следващият сравнението и извежда резултат неизвестен, когато променлива съдържа NULL стойност:

Transact-SQL език поддържа разширение, което позволява на операторите за сравнение връщат вярно или невярно, в сравнение с NULL стойности. Тази функция се активира, когато настроите ANSI_NULLS OFF. Ако стойността е равна ANSI_NULLS OFF, сравнение тип черво = NULL връща стойност TRUE, ако черво колона съдържа NULL стойност и FALSE - ако черво колона съдържа стойност, различна от NULL. В допълнение, сравнение на два израза, които водят до стойност равна на нула, връщане на стойността TRUE. Настройка ANSI_NULLS не засягат приложените колоните, съдържащи NULL стойности. Редици от свързани колони, съдържащи NULL стойности не са част от комплекта резултат. Ако стойността е равна на ANSI_NULLS изключен, след SELECT изявление връща всички редове от таблицата за Клиента. Област, в която колона съдържа NULL стойност:

Независимо от стойността на ANSI_NULLS настройка NULL стойности винаги се смятат за равни по ключовите думи, подредени по, GROUP BY и различни. В допълнение, уникален индекс или UNIQUE ограничение, за които се допуска стойност NULL, може да съдържа само един ред с NULL ключови стойност. Следващите редове с нулева стойност се отклоняват. За първичен ключ в някоя от колоните, които са част от ключа не може да бъде нулева стойност.

В резултат на изчисления, които включват стойността NULL, стойността е NULL, тъй като, ако поне един от факторите, не е известна, резултатът е също така да бъде неизвестен (Неизвестно). Например, в резултат на експресията COLUMN1 + 1 е нула, ако стойността е равна колона1 NULL.

При търсене на колони, включително колони с NULL стойности, може да се намери в стойностите на NULL база данни или е различен от тях с помощта на следния шаблон:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!