Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Обработка значений Null. Хотя значения null удобны для хранения в таблицах неизвестных зна_ чений столбцов

Рекурсивные внешние соединения | Перекрестные соединения | Естественные соединения | Что такое условная логика? | Выражение case | Простые выражения case | Gt; FROM account | Селективная агрегация | Проверка существования | Ошибки деления на нуль |


Читайте также:
  1. I. Обработка информации, полученной при обследовании
  2. IX. Требования к оборудованию, инвентарю, таре и их санитарная обработка
  3. Выделение значений
  4. Выделение крайних значений
  5. Выполнение измерений, обработка результатов
  6. Вычисление значений логарифмов
  7. Вычисление значений тригонометрических функций

 

Хотя значения 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 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Условные обновления| Многопользовательские базы данных

mybiblioteka.su - 2015-2024 год. (0.005 сек.)