Функция nvl
Возвращает expr2 , если expr1 имеет значение NULL . В противном случае возвращает expr1 . Эта функция является синонимом двух coalesce(expr1, expr2) аргументов.
Синтаксис
nvl(expr1, expr2)
Аргументы
- expr1 : выражение любого типа.
- expr2 : выражение, в которое используется наименее распространенный тип expr1 .
Возвраты
Тип результата является наименее распространенным типом типов аргументов.
Примеры
> SELECT nvl(NULL, 2); 2 > SELECT nvl(3, 2); 3
Связанные функции
- функция объединения
- Функция ifnull
- функция nvl2
Что такое nvl в sql
Возвращает отличное от NULL значение одного из двух выражений.
NVL(eExpression1, eExpression2)
Параметры:
eExpression1, eExpression2
Функция NVL( ) возвращает выражение eExpression2, если вычисление выражения eExpression1 дает значение NULL. Функция NVL( ) возвращает eExpression1, если вычисление выражения eExpression1 дает результат, отличный от значения NULL. Выражения eExpression1 и eExpression2 могут принадлежать любому типу данных. NVL( ) возвращает .NULL. если как выражение eExpression1, так и выражение eExpression2 имеет значение NULL.
Результат:
Character, Date, DateTime, Numeric, Currency, Logical или значение .NULL.
Комментарии:
Используйте функцию NVL( ) для исключения значений NULL из вычислений или операций, в которых они не поддерживаются или неуместны.
* В следующем примере создается переменная памяти glMyNull, которая * содержит значение NULL. Функция NVL( ) используется для получения * отличного от NULL значения из glMyNull и другого выражения. STORE .NULL. TO glMyNull && A memory variable containing the null value CLEAR ? NVL(.T., glMyNull) && Displays .T. ? NVL(glMyNull, glMyNull) && Displays .NULL.
SQL IFNULL(), ISNULL(), COALESCE(), и NVL()
Предположим, что столбец «UnitsOnOrder» является необязательным и может содержать нулевые значения.
Посмотрите на следующую инструкцию SELECT:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
В приведенном выше примере, если какое-либо из значений «UnitsOnOrder» равно NULL, результат будет равен нулю.
Решения
MySQL функция IFNULL() позволяет возвращать альтернативное значение, если выражение равно нулю:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
или мы можем использовать функцию COALESCE(), например:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;
SQL Server функция ISNULL() позволяет возвращать альтернативное значение, если выражение равно нулю:
SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;
MS Access функция IsNull() возвращает TRUE (-1), если выражение имеет нулевое значение, в противном случае FALSE (0):
SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;
Oracle функция NVL() достигает того же результата:
SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products;
Мы только что запустили
SchoolsW3 видео
курс сегодня!
Сообщить об ошибке
Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:
Ваше предложение:
Спасибо Вам за то, что помогаете!
Ваше сообщение было отправлено в SchoolsW3.
Schoolsw3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.
NVL ФУНКЦИЯ
Oracle/PLSQL функция NVL позволяет заменить значение, когда встречается Null значение.
Синтаксис
Синтаксис Oracle/PLSQL функции NVL:
NVL( string1, replace_with )
Параметры или аргументы
string1 строка, которая проверяется на Null значение.
replace_with возвращаемое значение, если string1 является Null.
Применение
Функцию NVL можно использовать в следующих версиях Oracle/PLSQL:
- Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i
Пример
Рассмотрим несколько примеров функции Oracle NVL и изучим, как использовать функцию NVL в Oracle/PLSQL.
