Функция ISNULL (Transact-SQL) — SQL Server
- Статья
- Чтение занимает 3 мин
Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)
Заменяет значение NULL указанным замещающим значением.
Соглашения о синтаксисе Transact-SQL
Синтаксис
ISNULL ( check_expression , replacement_value )
Примечание
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.
Аргументы
check_expression
Выражение, которое необходимо проверить на равенство значению NULL. Аргумент check_expression может быть любого типа.
replacement_value
Выражение, возвращаемое, если check_expression имеет значение NULL. Аргумент replacement_value должен иметь тип, который может быть неявно преобразован в тип check_expression.
Типы возвращаемых данных
Возвращает тип, совпадающий с типом выражения check_expression. Если в аргументе check_expression предоставлено литеральное значение NULL, возвращает тип данных replacement_value. Если в аргументе check_expression предоставлено литеральное значение NULL, а аргумент replacement_value не задан, возвращает int.
Возвращается значение check_expression, если это выражение не равно NULL. В противном случае возвращается значение replacement_value. Если типы являются разными, то тип replacement_value неявно преобразуется в тип check_expression. Значение replacement_value может усекаться, если значение replacement_value длиннее, чем check_expression.
Примечание
Для возврата первого значения, отличного от NULL, используйте функцию COALESCE (Transact-SQL).
Примеры
A. Использование функции ISNULL с функцией AVG
Следующий пример демонстрирует расчет среднего значения веса всех продуктов. Все записи со значением NULL в столбце
таблицы Weight
заменяются значением Product
.
USE AdventureWorks2012; GO SELECT AVG(ISNULL(Weight, 50)) FROM Production.Product; GO
Результирующий набор:
-------------------------- 59.79 (1 row(s) affected)
Б. Использование функции ISNULL
Следующий пример производит выборку описания, процента скидки, минимального и максимального количества для всех специальных предложений из базы AdventureWorks2012
. Если максимальное количество для отдельного специального предложения равно NULL, отображаемое значение MaxQty
в результирующем наборе заменяется на 0.00
.
USE AdventureWorks2012; GO SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity' FROM Sales.SpecialOffer; GO
Результирующий набор:
Description | DiscountPct | MinQty | Максимальное количество |
---|---|---|---|
Без скидки | 0,00 | 0 | 0 |
Оптовая скидка | 0,02 | 11 | 14 |
Оптовая скидка | 0,05 | 15 | 4 |
Оптовая скидка | 0,10 | 25 | 0 |
Оптовая скидка | 0,15 | 41 | 0 |
Оптовая скидка | 0,20 | 61 | 0 |
Mountain-100 Cl | 0,35 | 0 | 0 |
Sport Helmet Di | 0,10 | 0 | 0 |
Road-650 Overst | 0,30 | 0 | 0 |
Mountain Tire S | 0,50 | 0 | 0 |
Sport Helmet Di | 0,15 | 0 | 0 |
LL Road Frame S | 0,35 | 0 | 0 |
Touring-3000 Pr | 0,15 | 0 | 0 |
Touring-1000 Pr | 0,20 | 0 | 0 |
Half-Price Peda | 0,50 | 0 | 0 |
Mountain-500 Si | 0,40 | 0 | 0 |
(16 row(s) affected)
В.
Проверка значений NULL в предложении WHEREНе используйте для поиска значений NULL выражение ISNULL, вместо него следует использовать выражение IS NULL. В следующем примере выполняется поиск всех продуктов, имеющих значение NULL
в столбце веса. Заметьте, что между словами IS
и NULL
стоит пробел.
USE AdventureWorks2012; GO SELECT Name, Weight FROM Production.Product WHERE Weight IS NULL; GO
Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)
Г. Использование функции ISNULL с функцией AVG
В приведенном ниже примере рассчитывается среднее значение веса всех продуктов в образце таблицы. Все записи со значением NULL в столбце
таблицы Weight
заменяются значением Product
.
-- Uses AdventureWorks SELECT AVG(ISNULL(Weight, 50)) FROM dbo.DimProduct;
Результирующий набор:
-------------------------- 52.88
Д.
Использование функции ISNULLВ приведенном ниже примере функция ISNULL используется для поиска значений NULL в столбце MinPaymentAmount
и отображения значения 0.00
для соответствующих строк.
-- Uses AdventureWorks SELECT ResellerName, ISNULL(MinPaymentAmount,0) AS MinimumPayment FROM dbo.DimReseller ORDER BY ResellerName;
Здесь приводится частичный результирующий набор.
ResellerName | MinimumPayment |
---|---|
A Bicycle Association | 0,0000 |
A Bike Store | 0,0000 |
A Cycle Shop | 0,0000 |
A Great Bicycle Company | 0,0000 |
A Typical Bike Shop | 200,0000 |
Acceptable Sales & Service | 0,0000 |
Е. Использование функции IS NULL для проверки на значение NULL в предложении WHERE
В приведенном ниже примере выполняется поиск всех продуктов, имеющих значение NULL
в столбце Weight
. Заметьте, что между словами IS
и NULL
стоит пробел.
-- Uses AdventureWorks SELECT EnglishProductName, Weight FROM dbo.DimProduct WHERE Weight IS NULL;
См. также:
Выражения (Transact-SQL)
IS NULL (Transact-SQL)
Системные функции (Transact-SQL)
Предложение WHERE (Transact-SQL)
COALESCE (Transact-SQL)
IFNULL(), ISNULL(), COALESCE(), и NVL() — Учебник SQL — Schoolsw3.com
schoolsw3.com
САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
❮ Назад Далее ❯
IFNULL(), ISNULL(), COALESCE(), и NVL()
Посмотрите на следующую таблицу «Products»:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15. 67 | 9 | 20 |
Предположим, что столбец «UnitsOnOrder» является необязательным и может содержать нулевые значения.
Посмотрите на следующую инструкцию SELECT:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
В приведенном выше примере, если какое-либо из значений «UnitsOnOrder» равно NULL, результат будет равен нулю.
Решения
MySQL
MySQL функция IFNULL() позволяет возвращать альтернативное значение, если выражение равно нулю:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
или мы можем использовать функцию COALESCE(), например:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;
SQL Server
SQL Server функция ISNULL() позволяет возвращать альтернативное значение, если выражение равно нулю:
SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;
MS Access
MS Access функция IsNull() возвращает TRUE (-1), если выражение имеет нулевое значение, в противном случае FALSE (0):
SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;
Oracle
Oracle функция NVL() достигает того же результата:
SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
❮ Назад Далее ❯
ВЫБОР ЦВЕТА
ТОП Учебники
HTML УчебникCSS Учебник
JavaScript Учебник
КАК Учебник
SQL Учебник
Python Учебник
W3. CSS Учебник
Bootstrap Учебник
PHP Учебник
Java Учебник
C++ Учебник
jQuery Учебник
ТОП Справочники
HTML СправочникCSS Справочник
JavaScript Справочник
SQL Справочник
Python Справочник
W3.CSS Справочник
Bootstrap Справочник
PHP Справочник
HTML Цвета
Java Справочник
Angular Справочник
jQuery Справочник
ТОП Примеры
HTML ПримерыCSS Примеры
КАК Примеры
SQL Примеры
Python Примеры
W3.CSS Примеры
Bootstrap Примеры
PHP Примеры
Java Примеры
XML Примеры
jQuery Примеры
Форум | О SchoolsW3
SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.
Авторское право 1999- Все права защищены.
SchoolsW3 работает на площадке от SW3.CSS.
ISNULL (Transact-SQL) — SQL Server
- Статья
- 3 минуты на чтение
Применяется к: SQL Server Azure SQL База данных Azure SQL Управляемый экземпляр Azure Synapse Analytics Analytics Platform System (PDW)
Заменяет NULL указанным замещающим значением.
Соглашения о синтаксисе Transact-SQL
Синтаксис
ISNULL (check_expression, replace_value)
Примечание
Чтобы просмотреть синтаксис Transact-SQL для SQL Server 2014 и более ранних версий, см. документацию по предыдущим версиям.
Аргументы
check_expression
Проверяется ли выражение на NULL. check_expression может быть любого типа.
replace_value
Выражение, которое должно быть возвращено, если check_expression равно NULL. replace_value должен иметь тип, который неявно преобразуется в тип check_expression .
Типы возвращаемых значений
Возвращает тот же тип, что и check_expression . Если литерал NULL указан как check_expression , возвращает тип данных replace_value . Если литерал NULL указан как check_expression и не указано replace_value , возвращается в .
Значение check_expression возвращается, если оно не равно NULL; в противном случае возвращается replace_value после неявного преобразования в тип check_expression , если типы разные. replace_value может быть усечен, если replace_value длиннее, чем check_expression .
Примечание
Используйте COALESCE (Transact-SQL), чтобы вернуть первое ненулевое значение.
Примеры
A. Использование ISNULL с AVG
В следующем примере определяется среднее значение веса всех продуктов. Он заменяет значение 50
для всех записей NULL в столбце Weight
таблицы Product
.
ИСПОЛЬЗОВАТЬ AdventureWorks2012; ИДТИ ВЫБЕРИТЕ СРЕДНЕЕ (ISNULL (вес, 50)) ОТ Производство.Продукт; ИДТИ
Вот набор результатов.
-------------------------- 59,79 (затронуты 1 ряд)
B. Использование ISNULL
В следующем примере выбираются описание, процент скидки, минимальное количество и максимальное количество для всех специальных предложений в AdventureWorks2012
. Если максимальное количество для определенного специального предложения равно NULL, MaxQty
, показанное в наборе результатов, равно 0,00
.
ИСПОЛЬЗОВАТЬ AdventureWorks2012; ИДТИ ВЫБЕРИТЕ Описание, DiscountPct, MinQty, ISNULL (MaxQty, 0,00) AS 'Максимальное количество' ОТ Продажи. Специальное Предложение; ИДТИ
Вот набор результатов.
Описание | СкидкаPct | Минимальное количество | Максимальное количество |
---|---|---|---|
Без скидки | 0,00 | 0 | 0 |
Скидка за объем | 0,02 | 11 | 14 |
Скидка за объем | 0,05 | 15 | 4 |
Скидка за объем | 0,10 | 25 | 0 |
Скидка за объем | 0,15 | 41 | 0 |
Скидка за объем | 0,20 | 61 | 0 |
Гора-100 Кл | 0,35 | 0 | 0 |
Спортивный шлем Di | 0,10 | 0 | 0 |
Дорога-650 Оверст | 0,30 | 0 | 0 |
Горная шина S | 0,50 | 0 | 0 |
Спортивный шлем Di | 0,15 | 0 | 0 |
Дорожная рама LL S | 0,35 | 0 | 0 |
Универсал-3000 Пр | 0,15 | 0 | 0 |
Универсал-1000 Пр | 0,20 | 0 | 0 |
Педа за полцены | 0,50 | 0 | 0 |
Гора-500 Си | 0,40 | 0 | 0 |
(16 затронутых строк)
C.
Проверка на NULL в предложении WHERE Не используйте ISNULL для поиска значений NULL. Вместо этого используйте IS NULL. В следующем примере выполняется поиск всех продуктов, которые имеют NULL
в столбце веса. Обратите внимание на пробел между IS
и NULL
.
ИСПОЛЬЗОВАТЬ AdventureWorks2012; ИДТИ ВЫБЕРИТЕ Имя, Вес ОТ Производство.Продукт ГДЕ Вес НУЛЬ; ИДТИ
Примеры: Azure Synapse Analytics and Analytics Platform System (PDW)
D. Использование ISNULL с AVG
В следующем примере выполняется поиск среднего веса всех продуктов в образце таблицы. Он заменяет значение 50
для всех записей NULL в столбце Weight
таблицы Product
.
-- Использует AdventureWorks ВЫБЕРИТЕ СРЕДНЕЕ (ISNULL (вес, 50)) ОТ dbo.DimProduct;
Вот набор результатов.
-------------------------- 52,88
E. Использование ISNULL
В следующем примере ISNULL используется для проверки значений NULL в столбце MinPaymentAmount
и отображения значения 0,00
для этих строк.
-- Использует AdventureWorks ВЫБЕРИТЕ имя реселлера, ISNULL(MinPaymentAmount,0) AS Минимальный платеж ОТ dbo.DimReseller ЗАКАЗАТЬ ПО ResellerName;
Вот неполный набор результатов.
Имя торгового посредника | Минимальный платеж |
---|---|
Ассоциация велосипедистов | 0,0000 |
Магазин велосипедов | 0,0000 |
Веломагазин | 0,0000 |
Великая велосипедная компания | 0,0000 |
Типичный магазин велосипедов | 200.0000 |
Приемлемые продажи и обслуживание | 0,0000 |
F. Использование IS NULL для проверки на NULL в предложении WHERE
В следующем примере выполняется поиск всех продуктов, имеющих NULL
в столбце Weight
. Обратите внимание на пробел между IS
и NULL
.
-- Использует AdventureWorks ВЫБЕРИТЕ английскийProductName, Weight ОТ dbo.DimProduct ГДЕ Вес НУЛЬ;
См. также
Выражения (Transact-SQL)
IS NULL (Transact-SQL)
Системные функции (Transact-SQL)
WHERE (Transact-SQL)
COALESCE (Transact-SQL)
Объяснение функции SQL ISNULL [Easy Примеры]
Содержание
Реклама
Обзор функции SQL ISNULL
SQL ISNULL — это функция, которая используется для проверки или замены нулевого значения указанного столбца или выражения, которое является первым параметром функции, если оно равно нулю чем функция вернет значение второго параметра как альтернативное или замененное значение, и если значение первого параметра не равно нулю, функция вернет то же самое.
SQL ISNULL — это расширенная функция SQL, которая принимает два параметра: первый — это выражение или имя столбца, а второй — значение, которое возвращается, если выражение или столбец содержат значение NULL
Что такое значения NULL и функции NULL в SQL?
Нулевые значения отсутствующих данных в таблицах SQL похожи на заполнители в базе данных, где данные недоступны, значение NULL не является частью какого-либо типа данных SQL, столбец с любым типом данных может иметь значение NULL.
ТАКЖЕ ЧИТАЙТЕ: Как искать в SQL имя столбца? [РЕШЕНО]
Нулевые функции необходимы для выполнения операций над нулевыми значениями, хранящимися в базе данных. Мы можем применять функции к значениям NULL, чтобы проверить, является ли значение нулевым или нет, или выполнить над ним какую-либо операцию.
Функция | Описание |
---|---|
ЕСНУЛЬ() | Используется для проверки значения NULL в первом аргументе и замены его значением второго аргумента |
ЕСЛИНУЛЬ() | Возвращает значение первого аргумента, если оно равно NULL, в противном случае возвращает второе значение |
ОБЪЕДИНЕНИЕ() | Возвращает первое не NULL значение из списка аргументов |
НВЛ() | используется для замены значения NULL желаемым значением, заданным пользователем |
Синтаксис SQL ISNULL
ISNULL (выражение_проверки | имя_столбца , значение)
- выражение_проверки | имя_столбца: Указано выражение или имя столбца таблицы, которое должно быть проверено на NULL или нет
- значение : Указанное значение, которое должно быть возвращено как замещающее или альтернативное значение, если выражение имеет значение NULL
Тип возвращаемого значения SQL ISNULL
Возвращает тот же тип, что и check_expression . Если литерал NULL указан как check_expression , возвращает тип данных значения . Если литерал NULL указан как check_expression , а значение не указано, возвращает целое число.
Функция SQL ISNULL Примеры
Пример простой оценки строки
SELECT ISNULL(NULL, 'Hello') AS checkNULL
В приведенном выше запросе мы использовали функцию SQL ISNULL для проверки того, что выражение первого аргумента равно NULL или нет, оно начинает эволюцию с первого аргумента, который равен NULL, поэтому он проверяет второй аргумент, который является строкой «Hello», поэтому он возвращает «Hello». в качестве замены Значение
ТАКЖЕ ПРОЧИТАЙТЕ: SQL LEFT JOIN с практическими примерами0017
SELECT ISNULL(NULL, 100) AS NotNULL
В последовательном запросе мы также применяем функцию SQL ISNULL для проверки значения NULLABLE в первом параметре, который равен NULL, поэтому в результате будет возвращено целочисленное значение второго параметра, равное 100
ВЫВОД:
Пример функции SQL ISNULL с NULL в качестве второго аргумента значение в качестве второго аргумента не влияет на результат, оно вернет значение первого аргумента как «функции SQL»
Выход:
SQL ISNULL Примеры.
студенческий_идентификаторТаблица результатов
result_id | идентификатор_студента | название экзамена | экзаменационная дата | идентификатор субъекта | получитьзнак | всего баллов | процент | класс | статус |
---|---|---|---|---|---|---|---|---|---|
3001 | 101 | сем1 | 08. 07.2001 | 1 | 80 | 100 | 80 | А+ | пройти |
3002 | 101 | сем1 | 08-08-2001 | 2 | 76 | 100 | 76 | А+ | пройти |
3003 | 102 | сем3 | 05-05-2000 | 3 | 67 | 100 | 67 | А | пройти |
3004 | 102 | сем3 | 05.06.2000 | 4 | 89 | 100 | 89 | А+ | пройти |
3005 | 102 | сем3 | 05.07.2000 | 5 | 90 | 100 | 90 | А+ | пройти |
3006 | 103 | сэм5 | 09.08.1998 | 6 | 55 | 100 | 55 | Б | пройти |
3007 | 105 | сем3 | 09-09-2001 | 2 | 78 | 100 | 78 | А+ | пройти |
ТАКЖЕ ЧИТАЙТЕ: SQL INSERT INTO SELECT с практическими примерами
В вышеприведенной базе данных School таблица учеников имеет нулевые значения в двух столбцах: электронная почта и город
Используйте функцию SQL ISNULL, чтобы проверить значения столбца города для всех студентов, если оно равно NULL, замените его на «Surat»
SELECT student_id, ISNULL (город, «Surat») Как «студенческий город» ИЗ таблицыстудент;
В приведенном выше запросе SQL проверяет значение столбца города, используя функцию ISNULL для NULL, и заменяет его на Surat.
ВЫВОД:
Функция SQL ISNULL с функцией агрегирования Агрегатные функции
Реклама
Например, чтобы найти средние оценки учащихся, если оценка равна NULL, а не 35 баллов,
SELECT AVG(ISNULL(obtainmark, 35)) AS Avage ИЗ dbo.tblрезультат
В предыдущем запросе сначала все значения NULL столбца получения оценок заменяются на 35, а затем функция AVG Aggregate для результирующего набора всех ненулевых значений
ВЫВОД:
чтобы определить средний процент студентов, если ни у одного из них нет NULL и оба значения столбца равны
ВЫБЕРИТЕ СРЕДНЕЕ(ISNULL(проценты, 35)) КАК Среднее, СУММ(ISNULL(метка получения, 35)) КАК СУММА ИЗ dbo.tblрезультат
- В приведенном выше запросе функция SQL ISNULL используется как вложенная в агрегатную функцию AVG и SUM
- Перед нахождением среднего значения в процентах функция SQL ISNULL заменит значение NULL в процентах на 35, так же, как если бы полученная оценка какого-либо учащегося не существовала, она будет заменена оценкой 35 с использованием SQL ISNULL .
ТАКЖЕ ПРОЧИТАЙТЕ: формат даты SQL с примерами
ВЫВОД:
Функция SQL ISNULL с предложением INNER JOIN, GROUP BY и WHERE
ВЫБЕРИТЕ dbo.tblstudent.city, COUNT(ISNULL(dbo.tblstudent.city, ‘Surat’)) AS ‘всего студентов’ ИЗ dbo.tblstudent ВНУТРЕННЕЕ СОЕДИНЕНИЕ dbo.tblresult НА dbo.tblstudent.student_id = dbo.tblresult.student_id ГДЕ (dbo.tblresult.examname = ‘sem3’) ГРУППА ПО dbo.tblstudent.city- Две таблицы student и result ate соединены с помощью SQL Inner join
- Для создания групповой записи учащихся применяется пункт GROUP By city, а для подсчета записей учащихся каждого города используется функция совокупного подсчета
- Функция SQL ISNULL применяется к столбцу города для проверки нулевого значения в том же столбце и, если существует, заменяет его названием города «Сурат»
ВЫВОД:
Чтобы отобразить общее количество полученных оценок за каждый семестр, минимальные полученные оценки и максимальные полученные оценки, если все оценки учащихся доступны в таблице результатов, если нет оценок, замените ноль на 30 оценок
SELECT dbo. tblresult.examname, SUM(ISNULL(dbo.tblresult.obtainmark, 30)) AS 'Общее количество баллов', MIN(ISNULL(dbo.tblresult.obtainmark, 30)) AS 'Минимальное количество баллов', MAX(ISNULL (dbo.tblresult.obtainmark, 30)) AS 'Максимальные баллы' ИЗ dbo.tblresult ВНУТРЕННЕЕ СОЕДИНЕНИЕ dbo.tblstudent ON dbo.tblresult.student_id = dbo.tblstudent.student_id ВНУТРЕННЕЕ СОЕДИНЕНИЕ dbo.tblsubject ON dbo.tblresult.subjectid = dbo.tblsubject.subjectid СГРУППИРОВАТЬ ПО dbo.tblresult.examname
- В приведенном выше запросе внутреннее соединение SQL используется для соединения двух таблиц
- Для получения итоговых, минимальных и максимальных оценок за каждый семестр используется группировка по пункту
- Перед применением агрегатной функции SUM, MIN и MAX в полученных оценках нам необходимо проверить значения оценок, поэтому функция SQL ISNULL применяется к столбцу получения оценок
ТАКЖЕ ЧИТАЙТЕ: Как использовать удаление SQL с JOIN? [РЕШЕНО]
ВЫВОД:
Сравнение функций SQL ISNULL() V/S SQL Coalesce() — это проприетарная форма SQL, используемая Microsoft SQL Server, тогда как функция SQL Coalesce основана на ANSI SQL 9.
0004
Примеры подобия между ISNULL() и Coalesce()
SELECT ISNULL(NULL, 'Hello') AS 'NotNULL Value' SELECT COALESCE (NULL, 'Hello') AS 'NotNULL Value'
Выше оба запроса показывают сходство между функциями Coalesce и IsNull, оба запроса дают одинаковый результат при их выполнении.
Реклама
ВЫВОД:
Пример различия между ISNULL() и Coalesce()
SELECT ISNULL(NULL, NULL) AS 'NotNULL Value SELECT COALESCE (NULL, NULL) AS 'NotNULL Value'
Когда мы выполним оба вышеуказанных запроса,
- первый запрос с функцией Coalesce вернет сообщение об ошибке «По крайней мере один из аргументов COALESCE должен быть типизированным NULL»
- Второй запрос с функцией ISNULL вернет NULL в качестве возврата
ВЫВОД:
ВЫБРАТЬ ОБЪЕДИНИТЬ (НУЛЬ, НУЛЬ, 10) КАК «Значение NotNULL» ВЫБЕРИТЕ ISNULL (NULL, ISNULL (NULL, 10)) AS 'Значение NotNULL'
Вышеупомянутые оба запроса дадут тот же результат, что и 10, но способ записи аргументов для оценки отличается: мы можем указать больше аргументов с помощью функции Coalesce, тогда как с помощью IsNULL мы можем дать только два аргумента.
ТАКЖЕ ПРОЧИТАЙТЕ: SQL Not Equal Tutorial [Практические примеры]
ВЫВОД:
Разница между оператором IS NULL и функцией ISNULL()
- Функция SQL ISNULL() возвращает альтернативное значение или заменяет значение NULL значением второго аргумента, если выражение равно NULL. Оператор IS NULL перечисляет все записи со значением NULL .
- При использовании оператора SQL Is NULL логическое выражение, используемое для фильтрации записи или записей, в функции SQL ISNULL преобразует нулевое значение в другое значение
- IS NULL используется в предложении WHERE для оценки условия. С другой стороны, ISNULL() — это функция, которая проверяет столбец или значение и возвращает конкретное значение, если в результате оценки возвращается NULL
Пример различия между операторами ISNULL() и Is NULL
Если мы хотим найти список студентов, чьи данные об идентификаторе электронной почты отсутствуют или имеют значение NULL, мы можем получить такие записи, используя оператор Is NULL с оператором условия Where в запросе выбора
ВЫБЕРИТЕ id_студента, имя учащегося, номер приема, дату поступления, номер регистрации, дату_рождения, адрес электронной почты, город, идентификатор класса ОТ tblstudent ГДЕ (электронная почта НУЛЕВАЯ)
В приведенном выше запросе мы используем оператор Is NULL для проверки нулевого значения в отправленном по электронной почте столбце таблицы учащихся 9.