Главная » Программирование » Основы SQL. Null. Функции ISNULL. Проверка на Null.

Основы SQL. Null. Функции ISNULL. Проверка на Null.

26 июня 2012 - Рубрики Программирование

4376 просмотров

В сайдбар справа добавлена кнопка Google+. Если вам поможет данный материал, прошу вас нажмите на кнопку - порекомендуйте сайт в Google.

Продолжаем изучение языка SQL. Сегодня поговорим о понятии Null.

Null — это пустое, неизвестное значение, ничего.Это не то же самое что ноль или пустая строка — это нужно четко понимать.

Теперь поговорим об особенностях работы с Null-значениями. Если у вас в выражении встречается null, то в результате вычисления вы все равно получите Null. Вообщем-то, это логично — например, если вы суммируете число с чем-то неизветсным, то логично что и получите нечто неизветсное. Null значения не учитываются в агрегатных функциях, поэтому count(*) и count(имяполя) возвращают разные значения.

При создании таблиц можно указать для каждого поля, возможно ли в нем null-значение. Например,

create table mytable (
id int primary key,
name char(20) not null default '',
age int default null
)

В данном примере для поля name мы запретили null-значения, в таком случае мы обязаны сразу указать значение. Если значение мы не укажем, то будет вставлена пустая строка (default »). Для поля age мы указали, что если значение не указано, то будет вставлено null-значение.

Теперь поговорим о возможностях проверки значения на null. Для этих целей используется клюевое слово is null, либо is not null.

Например,

select * 
from employees
where dept_id is null

либо

select *
from departments
where name is not null

Также есть функции, которые проверяют значение на null, и в случае обнаружения возвращает указанное вами значение. В T-SQL это функцияISNULL, в Oracle это функция NVL. Рассмотрим пример

select isnull(age,0)
from employees

Кроме этого в Oracle есть еще функция NVL2, ее синтаксис также довольно прост

NVL2(имяполя, значение1, значение2)

В данном случае, если поле равно null, то вернется первое значение, в противном случае вернется второе значение.

Если этот материал оказался вам полезен, порекомендуйте его в в Google, нажав кнопку Google+ справа в сайдбаре или через кнопки социальных сервисов ниже.

П.С. не забудьте оставить комментарий к статье, а также поделиться ссылкой с друзьями и коллегами через социальные сервисы или скопировав ссылку на статью ниже. Кроме того, вы можете предложить тему статьи через кнопку слева "Предложить тему статьи". Там же можно оставить пожелания, идеи по развитию сайта, а также благодарности (ну а вдруг)
П.П.С. предлагаю вам также вступить в Группа Вконтакте!группу Вконтакте, где вы сможете пообщаться с участниками на интересующие вас темы. Смелее!!!
Если вы больше времени проводите в Twitter, то за обновлениями на сайте можно следить, подписавшись на мою лентуTwitter: follow me!

Возможно вам также будут интересны статьи :

 

Предыдущие материалы из данной категории:

Комментариев: 0 , , , , , , ,

Понравилась статья? Поделитесь ссылкой




Оставьте комментарий:




:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

Я человек, а не бот.