71
правка
Изменения
м
→Работа с null в SQL
== Работа с null в SQL ==
Несмотря на множество проблем, описанных выше, в SQL существуют механизмы, позволяющие корректно обработать '''null'''.=== Проверки значений ===Для сравнения с '''null''' используется <font color = blue>is null</font> (или <font color = blue>is not null</font>).Получить всех студентов с '''''null''''' в поле ''GroupId'' можно следующим образом: <font color = blue>select</font> StudentId <font color = blue>from</font> Students <font color = blue>where</font> GroupId <font color = blue>is null</font>;В общем виде синтаксис проверки значений выглядит следующим образом:<font color = red>значение</font> <font color = blue>is</font> <font color = red>[</font><font color = blue>not</font><font color =red>]</font> <font color =red>{</font><font color =blue>null</font>|true|false|unknown<font color =red>}</font>Примеры* x <font color = blue>is not</font> true* x <font color = blue>or</font> x <font color = blue>is not null</font> Так же в SQL существует функция '''''coalesce(v1, v2, ...) =====* Принимает ''''', которая принимает произвольное число аргументов и возвращает первый не '''не null* '''. Если все аргументы '''null - ''', то возвращает '''null'''.
=== Ключи и null ===
=== Типы столбцов ===
* <font color = blue>nullable</font> (по умолчанию)** <font color = gray>birthday date</font>* <font color = blue>Не nullable</font>** <font color = gray>birthday date</font> <font color = blue>not null</font> === Проверки значений ======= Синтаксис ====*значение is [not] {null|true|false|unknown}==== Примеры ====* x is null* x is not true* (x or x) is not null
=== Прочее ===
exists, Агрегирующие функции, Order by