- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри
Шрифт:
Интервал:
Закладка:
VALUE2: выражение или константа, которая будет возвращаемым значением, если VALUE1 дает NULL
Возвращаемое значение
Непустое значение. Если VALUE1 не является NULL, то оно будет возвращаемым значением; иначе будет возвращаться VALUE1. Если и VALUE1, и VALUE2 имеют значение NULL, то будет возвращено значение NULL
Замечания
Логически эта функция эквивалентна простой форме функции COALESCE О версии 1.5, когда она используется со столбцом числового типа с фиксированной точкой, а именно COALESCE(VALUE1, VALUE2) .
Она должна рассматриваться как нерекомендуемая для Firebird версии 1.5 и выше.
Внешняя функция iNVL() существует в трех реализациях: две для 32-битовых и 16-битовых типа (invl и dnvi), а третья для 64-битовых типов (i64nvi). Если вы хотите использовать ее с любыми числовыми типами с фиксированной точкой, объявите все реализации. Объявления можно найти в скрипте fbudf.sql в каталоге /UDF вашей инсталляции Firebird.
Не объявляйте реализацию i64nvi для баз данных, которые не поддерживают 64-битовые числа - например, для не перенесенной базы данных InterBase 5
Пример
Следующий запрос возвращает 0, если STOCK имеет значение NULL:
SELECT
PRODUCT ID, PRODUCT NAME,
INVL(STOCK, 0)
FROM PRODUCTS;
Связанные или похожие функции
См. также sNVL(), iNullIf(), внутреннюю функцию COALESCE()
FBUDF
SNULLIF(VALUE1, VALUE2)
Linux, Win32
Возвращает NULL для подвыражения, если оно иначе возвращает значение этого подвыражения. Применимо только для символьных типов и должно быть использовано только в Firebird 1,0.x. В Firebird 1.5 и выше используйте NULLIFO
Аргументы
VALUE1: столбец или вычисляемое выражение.
VALUE2: константа или выражение, с которым сравнивается VALUE1. ЕСЛИ они равны, SNULLIF вернет NULL
Возвращаемое значение
NULL, если VALUE1 и VALUE2 равны. Если не равны, то возвращается VALUE1
Замечания
SNOLLIF имеет результат, эквивалентный использованию внутренней функции SQL NULLIFO, реализованной в Firebird 1.5 и выше с символьными типами
Пример
Следующий запрос устанавливает значение столбца IS_REGISTERED в NULL для всех столбцов, где его значение ' Т', a REGISTERED имеет значение NOLL:
UPDATE ATABLE
SET IS REGISTERED = SNOLLIF(IS REGISTERED, 'T')
WHERE REGISTRATION_DATE IS NULL;
Связанные или похожие функции
См. также iNullif(). Для Firebird 1.5 и вышё см. внутреннюю функцию NULLIF()
FBUDF
SNVL(VALUE1, VALUE2)
Linux, Win32
Эта функция пытается повторить функцию Oracle NVLO только для строковых типов. Она возвращает указанное непустое значение, если заданный столбец имеет значение NULL
Аргументы
VALUE1: столбец или выражение, включающее столбец.
VALUE2: выражение или константа, которая будет возвращаемым значением, если VALUE1 дает NOLL
Возвращаемое значение
Непустое значение. Если VALUE1 не является NULL, то оно будет возвращаемым значением; иначе будет возвращаться VALUE2. Если и VALUE1, и VALUE2 имеют значение NULL, ТО будет возвращено значение NULL
Замечания
Логически эта функция эквивалентна простой форме функции COALESCE() версии 1.5, когда она используется со столбцом символьного типа, а именно COALESCE(VALUE1, VALUE2).
Она должна рассматриваться как нерекомендуемая для Firebird 1.5 и выше
Пример
Следующий оператор вычисляет и выводит столбец времени выполнения BIRTH YEAR для каждого студента. Если это значение вычисляется в NULL, то вместо дня рождения выводится 'Not known' (Неизвестно):
SELECT
FIRST_NAME, LAST_NAME,
SNVL(CAST(EXTRACT(YEAR FROM BIRTH DATE) AS
VARCHAR (9) ) , ' Not known')
AS BIRTH_YEAR
FROM STUDENT_REGISTER;
Связанные или похожие функции
См. также iNVL(), sNullif() , внутреннюю функцию COALESCE()
Математические функции
IB_UDF
ABS(VALUE)
Linux, Win32
Возвращает абсолютное значение числа
Аргументы
VALUE является столбцом или выражением, которое совместимо с типом DOUBLE PRECISION
Возвращаемое значение
Число DOUBLE PRECISION
Пример
Этот оператор суммирует все отрицательные значения и возвращает итог в виде положительного числа:
SELECT ABS(SUM(ASSET_VALUE)) AS LIABILITY
FROM ASSET_REGISTER
WHERE ASSET VALUE < 0;
Похожие функции
См. другую внешнюю функцию f_DoubleAbs(), которая выполняет те же действия
IB_UDF
BIN_AND(VALUE1, VALUE2)
Linux, Win32
Возвращает результат побитовой операции AND (И), выполняемой с двумя входными значениями
Аргументы
VALUE1 и VALUE2, являются столбцами или выражениями, которые преобразуются к типу SMALLINT или INTEGER
Возвращаемое значение
Значение INTEGER
Пример
SELECT BIN_AND (128,24) AS ANDED_ RESULT
FROM RDB $ DATABASE;
IB_UDF
BIN_OR(VALUE1, VALUE2)
Linux, Win32
Возвращает результат двоичной (побитовой) операции OR (ИЛИ), выполняемой с двумя входными значениями
Аргументы
VALUE1 и VALUE2 являются столбцами или выражениями, которые преобразуются К типу SMALLINT или INTEGER
Возвращаемое значение
Значение INTEGER
Пример
SELECT BIN_OR(128, 24) AS ORED_RESULT
FROM RDB$DATABASE;
IB_UDF
BIN_XOR(VALUE1, VALUE2)
Linux, Win32
Возвращает результат двоичной (побитовой) операции XOR (исключающее ИЛИ), выполняемой с двумя входными значениями
Аргументы
VALUE1 и VALUE2 являются столбцами или выражениями, которые преобразуются К типу SMALLINT или INTEGER
Возвращаемое значение
Значение INTEGER
Пример
SELECT BIN_XOR(128, 24) AS EXORED_RESULT
FROM RDB$DATABASE;
IB_UDF
CEILING(VALUE)
Linux, Win32
Возвращает значение типа DOUBLE PRECISION, представляющее наименьшее целое, большее или равное входному значению
Аргументы
VALUE является столбцом или выражением, которое дает число типа DOUBLE PRECISION
Возвращаемое значение
Число DOUBLE PRECISION С нулевым количеством дробных знаков
Пример
SELECT CEILING (LAST_TOTAL) AS ROUND_UP_NEAREST
FROM SALES_HISTORY;
IB_UDF
DIV(VALUE1, VALUE2)
Linux, Win32
Делит два целых числа и возвращает частное, отбрасывая дробную часть
Аргументы
VALUE1 и VALUE2 являются столбцами или выражениями, которые преобразуются к числам типа SMALLINT или INTEGER
Возвращаемое значение
Число DOUBLE PRECISION с нулевым количеством дробных знаков
Пример
SELECT DIV(TERM, (CURRENT_DATE - START_DATE) / 365) AS
YEARS_REMAINING
FROM MORTGAGE_ACCOUNT
WHERE ACCOUNT_ID = 12345;
FBUDF
DPOWER(VALUE, EXPONENT)
Linux, Win32
Получает число и показатель степени и возвращает степень числа
Аргументы
EXPONENT является столбцом или выражением, которое дает число типа DOUBLE PRECISION
Возвращаемое значение
Возвращает степень числа в виде DOUBLE PRECISION
Пример
SELECT DPOWER(2.64575,2) AS NEARLY_7 FROM RDB$DATABASE;
Связанные или похожие функции
См. также SQRTO
FREEUDFLIB
F_DOUBLEABS(VALUE)
Win32
Возвращает абсолютное значение числа с плавающей точкой
Аргументы
VALUE является столбцом или выражением, которое преобразуется в число типа DOUBLE PRECISION или FLOAT
Возвращаемое значение
Положительное число типа DOUBLE PRECISION
Пример
SELECT ABS(SUM(ASSET_VALUE) ) AS LIABILITY
FROM ASSET REGISTER
WHERE ASSET VALUE < 0;
Связанные или похожие функции
См. также другую внешнюю функцию ABS(), которая выполняет ту же самую задачу и доступна не только на платформах Windows
FREEUDFLIB
F_ISDVISIBLEBY(VALUE1, VALUE2)
Win32
Определяет, является ли значение нацело делимым на другое значение (то есть является ли VALUE2 делителем VALUE1). Возвращает 1, если числитель(VALUE1) нацело делится на знаменатель(VALUE2); иначе возвращает 0
Аргументы
VALUE1: столбец или выражение, результатом вычисления которого является целый тип - число, которое будет делиться (числитель).
VALUE2: другое целое - число, используемое в качестве знаменателя
Возвращаемое значение
Возвращает 1, если истинно, 0, если ложно
Пример
Эта функция может быть вызвана из ограничения CHECK, как в следующем примере:
ALTER TABLE ORDER DETAIL
ADD CONSTRAINT CHECK_MULTIPLE
CHECK (ISDIVISIBLEBY (ORDER_QTY, PACK_QTY) = 1);
Подобная проверка может быть использована в случае, когда для расфасованных элементов указана цена за единицу, а не за расфасовку

