Синтаксис соответствующего оператора следующий.
LENGTH(строка символов)
Пример____________________________Значение________________
SELECT LENGTH (LAST_NAME) Этот оператор SQL возвращает длину фами-
FROM EMPLOYEE_TBL; лии для каждого из служащих
SELECT PROD_DESC, LENGTH(PROD_DESC)
FROM PRODXCTS_TBL;
PROD_DESC LENGTH(PROD_DESC)
КОСТЮМ ВЕДЬМЫ 13
ПЛАСТИКОВЫЕ ТЫКВЫ 17
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 30
ФОНАРИ 6
КОСТЮМЫ В АССОРТИМЕНТЕ 22
СЛАДКАЯ КУКУРУЗА 16
ТЫКВЕННЫЕ КОНФЕТЫ 17
ПЛАСТИКОВЫЕ ПАУКИ 17
МАСКИ В АССОРТИМЕНТЕ 20
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 18
ПОЛОЧКА ИЗ ДУБА 15
11 строк выбраны.
Функция NVL используется для отображения значения некоторого выражения, когда значение другого заданного выражения оказывается NULL Функцию NVL можно использовать с данными большинства типов, однако, проверяемое значение и замещающее его значение должны быть одного типа
Синтаксис соответствующего оператора следующий.
NVL('значение', 'замещающее значение')
Пример______________________________Значение______________
SELECT NVL (SALARY, '00000') Этот оператор SQL находит пустые значения
FROM EMPLOYEE_PAY_TBL; для зарплаты и заменяет их значением 00000
SELECT PAGER, NVL(PAGER,9999999999)
FROM EMPLOYBE_TBL;
PAGER NVL(PAGER,
9999999999
9999999999
3175709980 3175709980
8887345678 8887345678
9999999999
9999999999
6 строк выбраны.
Значение 9999999999 было подставлено только вместо значений NULL
Функция LPAD используется для добавления символов или пробелов в начало строки. Синтаксис соответствующего оператора следующий
LPAD(множество строк, число, символ)
В следующем примере в начало описаний товаров добавляются точки так, чтобы общее число символов в описании оказалось равным 33.
SELECT LPAD(PROD_DESC,33,'.')
PRODUCT FROM PRODICTS_TBL;
PRODUCT
.................... КОСТЮМ ВЕДЬМЫ
................ ПЛАСТИКОВЫЕ ТЫКВЫ
...ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
........................... ФОНАРИ
........... КОСТЮМЫ В АССОРТИМЕНТЕ
................. СЛАДКАЯ КУКУРУЗА
................ ТЫКВЕННЫЕ КОНФЕТЫ
................ ПЛАСТИКОВЫЕ ПАУКИ
............ .МАСКИ В АССОРТИМЕНТЕ
............... ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ
.................. ПОЛОЧКА ИЗ ДУБА
11 строк выбраны.
Функция RPAD используется для добавления символов или пробелов в конец строки Синтаксис соответствующего оператора следующий.
RPAD(множество строк, число, символ)
В следующем примере в конец описаний товаров добавляются точки так, чтобы общее число символов в описании оказалось равным 33
SELECT RPAD(PROD_DESC,33,'.')
PRODUCT FROM PRODICTSJTBL;
PRODUCT
КОСТЮМ ВЕДЬМЫ....................
ПЛАСТИКОВЫЕ ТЫКВЫ................
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ...
ФОНАРИ...........................
КОСТЮМЫ В АССОРТИМЕНТЕ...........
СЛАДКАЯ КУКУРУЗА.................
ТЫКВЕННЫЕ КОНФЕТЫ................
ПЛАСТИКОВЫЕ ПАУКИ................
МАСКИ В АССОРТИМЕНТЕ.............
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ...............
ПОЛОЧКА ИЗ ДУБА..................
11 строк выбраны.
Функция ASCII возвращает ASCII-код самого левого символа в строке (ASCII расшифровывается как American Standard Code for Information Interchange - американский стандартный код для обмена информацией).
Синтаксис соответствующего оператора следующий.
ASCII(строка)
Например,
ASCII ('A') возвратит 65,
ASCII (' в') возвратит 66,
ASCII (' с') возвратит 67.
Математические функции для всех реализаций SQL стандартны. С помощью этих функций выполняются вычисления с числовыми значениями базы данных. Из наиболее используемых математических функций выделим следующие.
Абсолютное значение ABS Округление ROUND Квадратный корень SQRT Знак числа SIGN Возведение в степень POWER Целая часть и ближайшее целое сверху FLOOR, CEIL Экспонента ЕХР Тригонометрические функции SIN, cos, TAN Общий синтаксис большинства математических функций следующий.
ФУНКЦИЯ(выражение)
Функции преобразования используются для преобразования одних типов данных в другие. Например, может возникнуть необходимость преобразования символьных данных в числовые. Данные могут храниться в базе данных в символьном виде, но для использования их в вычислениях необходимо представить эти данные в виде чисел. Математические функции и вычисления не работают с символьными данными.
|
Абсолютное значение Округление Квадратный корень Знак числа Возведение в степень Целая часть и ближайшее целое сверху Экспонента Тригонометрические функции |
ABS ROUND SQRT SIGN POWER FLOOR, CEIL EXP SIN, COS, TAN |
• символьного типа данных в числовой;
• числового типа данных в символьный;
• символьного типа данных в тип даты и времени;
• типа даты и времени в символьный.
В ходе данного урока обсуждаются первые два класса преобразований. Остальные будут обсуждаться в ходе урока 12, "Работа с датами и временем".
В некоторых реализациях предусмотрено неявное преобразование данных одних типов в другие при необходимости
Относительно различия числовых и символьных данных вы должны четко представлять себе два момента.
1. К числовым данным могут применяться арифметические операции и функции.
2. При неформатированном выводе числовые значения выравниваются по правому краю, а символьные строки - по левому.
После преобразования символьной строки в число результат получает соответствующие только что указанные свойства.
В некоторых реализациях SQL нет функций для преобразования строк символов в числа, а в некоторых - есть. В любом случае по поводу имеющихся возможностей, правил преобразования и синтаксиса операторов необходимо обратиться к документации соответствующей реализации языка.
SELECT SUM(LENGTH(LAST_NAME) + LENGTH{FIRST_NAME)) TOTAL
FROM EMPLOYEE_TBL;
TOTAL
--------
71
1 строка выбрана.
В этом примере использованы функция LENGTH и арифметический оператор +, чтобы вычислить суммарную длину имени и фамилии для каждой записи таблицы, а после этого с помощью функции SUM вычисляется сумма длин всех имен и фамилий в таблице.
При вложении одних функций SQL в другие вычисление начинается с внутренней функции, и все вложенные функции обрабатываются последовательно по уровням вложения от внутренней к внешней
Вы ознакомились с рядом функций, используемых в операторах SQL - как правило, в запросах, - чтобы изменить представление данных при выводе. Среди таких функций есть символьные, математические и функции преобразования. Очень важно понимать, что стандарт ANSI является только общим руководством для производителей при создании реализации языка, он не диктует точный синтаксис соответствующих операторов и не ограничивает право производителя на нововведения. Большинство производителей предлагают стандартные функции в соответствии с концепциями ANSI, но каждый производитель предлагает свой список доступных пользователю функций. Могут отличаться как имена функций, так и их синтаксис, но лежащие в основе функций концепции одинаковы.