|
Программирование >> Построение запросов sql
Например, требуется вывести номера лицевых счетов абонентов и Fio, дополненные справа знаком звездочки (*) до длины 20 символов. Запрос будет выглядеть следующим образом: SELECT AccountCD, RPAD (Fio, 20,*) FROM Abonent;. Результат выполнения запроса представлен на рис. 3.24.
Рис. 3.24. Результат работы функции RPAD Существуют функции, которые выполняют преобразования между регистрами символов. Функция UPPER преобразует все символы строки в верхний регистр. Имеет следующий синтаксис: UPPER (<значение>), где <значение> - преобразуемый столбец, переменная или выражение строкового типа. Если набор символов и последовательность сортировки поддерживают преобразование в верхний регистр (например, WIN1251), то функция возвращает строку, в которой все символы преобразованы в верхний регистр. Строка имеет ту же длину, что и входное <значение>. Для наборов символов, не поддерживающих преобразование в верхний регистр (это, в частности, кодировка по умолчанию NONE), функция возвращает неизменное входное значение. Следующий запрос выводит названия услуг газоснабжения заглавными буквами: SELECT UPPER(GazserviceNM) FROM Services;. Результат выполнения запроса представлен на рис. 3.25. UPPER ДОСТАВКА ГАЗА ЗАЯВОЧН1И РЕМОНТ ГО Рис. 3.25. Результат работы функции UPPER Противоположной функцией является LOWER, которая преобразует все символы строки в нижний регистр. Имеет следующий синтаксис: LOWER (<значение>), где <значение> - преобразуемый столбец, переменная или выражение строкового типа. Для определения символа по известному коду используется функция ASCII CHAR. Функция имеет следующий формат: ASCII CHAR (код символа) . Код должен лежать в диапазоне от 0 до 255. Следует учесть, что функция возвращает символ для кодировки NONE. Рассмотренные выше строковые функции возвращают результат в виде строки символов. Существует также ряд строковых функций, которые в качестве результата возвращают числовое значение. Для определения кода первого символа в указанной строке используется функция ASCII VAL. Функция имеет следующий формат: ASCII VAL (<строка>) . Функция вернет ноль, если указана пустая строка. Для определения позиции первого вхождения заданной подстроки в строку можно использовать функцию POSITION. Функция имеет следующий формат: POSITION (<подстрока> IN <строковое выражение>) . Функция возвращает ноль, если подстрока отсутствует внутри строки. Например, для вывода номеров лицевых счетов и фамилий тех абонентов, у которых в их фамилиях вторая буква У, можно использовать следующий запрос: SELECT AccountCD, Fio FROM Abonent WHERE POSITION (У IN Fio) = 2;. Результат выполнения запроса представлен на рис. 3.26.
Рис. 3.26. Результат работы функции POSITION Для определения размера строки применяются функции BIT LENGTH, CHAR[ACTER] LENGTH , OCTETLENGTH . Функция BIT LENGTH возвращает длину строки в битах, функция CHAR[ACTER] LENGTH - в символах, а функция OCTETLENGTH - в байтах. Эти три функции имеют одинаковый синтаксис: { BIT LENGTH CHAR[ACTER] LENGTH OCTET LENGTH } ( <строковое выражение> ). Например, вывести названия услуг газоснабжения и длины полей названия в символах и в битах можно с помощью следующего запроса: SELECT GazServiceNM, CHAR LENGTH (GazServiceNM), BIT LENGTH (GazServiceNM) FROM Services;. Результат выполнения запроса представлен на рис. 3.27.
Рис. 3.27. Результаты работы функций CHARLENGTH и BITLENGTH Проверить, что тип VARCHAR предусматривает отбрасывание символов пробела можно помощью следующего использующего функции CHARLENGTH и TRIM: SELECT FIRST 3 FailureCD, CHAR LENGTH (FailureNM), CHAR LENGTH (TRIM(FailureNM)) FROM Disrepair;. Результат выполнения запроса представлен на рис. 3.28. автоматическое запроса,
Рис. 3.28. Результат работы функции CHARLENGTH Во втором столбце выводятся длины значений поля FailureNM в символах, а в третьем - длины значений этого же поля, но с удаленными символами пробелов. Можно заметить, что значения во втором и третьем столбце совпадают, так как тип поля FailureNM - VARCHAR(50) и символы пробелов автоматически отбрасываются. 3.2.3.2.2. Числовые функции Эти функции возвращают числовые значения на основании значений того же типа, заданных в аргументе. Числовые функции используются для обработки данных, а также в условиях поиска. Стандартные числовые функции СУБД Firebird 2.1 перечислены в табл. 3.2.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |