Читайте также: |
|
Хотя значения null удобны для хранения в таблицах неизвестных зна_ чений столбцов, они не всегда подходят для отображения или исполь_ зования в выражениях. Например, в окне ввода данных вы, скорее всего, предпочтете отображать слово «unknown», а не оставлять пустое поле. При извлечении данных выражение case позволяет вместо значе_ ния null подставлять строку:
SELECT emp_id, fname, lname,
CASE
WHEN title IS NULL THEN 'Unknown'
ELSE title
END
FROM employee;
Значения null в вычислениях часто являются причиной результата null, как показывает следующий пример:
mysql> SELECT (7 * 5) / ((3 + 14) * null);
+_____________________________+ | (7 * 5) / ((3 + 14) * null) | +_____________________________+ | NULL | +_____________________________+ 1 row in set (0.08 sec)
Проводя вычисления, полезно преобразовать значения null в число (обычно 0 или 1) с помощью выражения case, чтобы обеспечить резуль_ тат вычисления, отличный от null. Например, при вычислении с учас_ тием столбца account.avail_balance можно было бы подставить 0 (при сложении или вычитании) или 1 (при умножении или делении) для тех счетов, которые уже открыты, но средства на них еще не помещены:
SELECT <some calcuation> + CASE
WHEN avail_balance IS NULL THEN 0 ELSE avail_balance
END
+ <rest of calculation>
...
Упражнения | |
Если числовой столбец может содержать значения null, хорошо бы ис_ пользовать условную логику при любых вычислениях с участием это_ го столбца, чтобы гарантировать значимые результаты.
Дата добавления: 2015-08-17; просмотров: 38 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Условные обновления | | | Многопользовательские базы данных |