Встроенные функции языка SQL: как работают и их список

Встроенные функции языка SQL
Vovan_ST

Vovan_ST

ИТ специалист со стажем. Автор статьи. Профиль

В стандарте SQL определено множество встроенных функций; при этом в боль­шинстве реализаций SQL добавлены собственные встроенные функции. Многие из них выполняют различные преобразования типов данных. Например, встроенные функции MONTH() и YEAR() из СУБД DB2 принимают в качестве аргумента зна­чения DATE или timestamp и возвращают целое число, представляющее соответст­венно месяц или год из заданного аргумента. Запрос, приведенный ниже, пере­числяет имена и месяцы приема на работу каждого служащего, данные о котором содержатся в нашей учебной базе данных.

SELECT NAME, MONTH(HIRE-DATE)
   FROM SALESREPS;

А этот запрос возвращает список служащих, нанятых на работу в 2006 году:

SELECT NAME, MONTH(HIRE_DATE)
   FROM SALESREPS
    WHERE YEAR(HIRE_DATE) = 2006;

Кроме того, встроенные функции часто используются для форматирования данных. Например, встроенная функция TO_CHAR() из СУБД Oracle принимает в качестве аргументов значение типа DATE и спецификацию формата, а возвраща­ет строку, содержащую значение даты, отформатированное в соответствии со спе­цификацией. В результатах, возвращаемых запросом:

SELECT NAME, ТО_CHAR(HIRE_DATE, 'DAY MONTH DD, YYYY')
   FROM SALESREPS;

благодаря использованию встроенной функции TO_CHAR() все даты приема на работу будут иметь формат "Wednesday June 14, 2007".

В общем случае встроенную функцию можно использовать в любом месте ин­струкции SQL, в котором можно использовать константу того же типа данных. Здесь невозможно перечислить все встроенные функции, поддерживаемые рас­пространенными диалектами SQL, поскольку их слишком много. В DB2 их около двух десятков, столько же, но своих встроенных функций, и в Oracle, а в SQL Server — еще больше. В стандарт SQL2 вошли наиболее полезные функции из этих реализаций SQL, зачастую с несколько отличным синтаксисом. Эти функции пе­речислены в табл. 1.

Таблица 1. Стандартные встроенные функции SQL

Функция  Возвращает
BIT_LENGTH(строка)

Количество битов в битовой строке

CAST(значение AS тип данных) Значение, преобразованное в указанный тип данных (например, дата, преобразованная в стро­ку)
CHAR_LENGTH(строка) Длина строки символов
CONVERT(строка USING функция) Строка, преобразованная в соответствии с ука­занной функцией
CURRENT_DATE  Текущая дата
CURRENT_TIME(точность) Текущее время с указанной точностью
CURRENT_TIMESTAMP(точность) Текущие дата и время с указанной точностью
EXTRACT(часть FROM значение) Указанная часть (DAY, HOUR и т.д.) из значения типа DATETIME
LOWER(строка) Строка, переведенная в нижний регистр
OCTET_LENGTH(строка) Число 8-битовых байтов в строке символов
POSITION(подстрока IN строка) Позиция, с которой начинается вхождение под­строки в строку
SUBSTRING(строка FROM n FOR длина)  Часть строки, начинающаяся с n-го символа и имеющая указанную длину
TRANSLATE(строка USING функция) Строка, транслированная с помощью указанной функции
TRIM(BOTH символ FROM строка)  Строка, из которой удалены ведущие и конечные указанные символы
TRIM(LEADING символ FROM строка)  Строка, из которой удалены ведущие указанные символы
TRIM(TRAILING символ FROM строка)  Строка, из которой удалены конечные указанные символы
UPPER(строка)  Строка, переведенная в верхний регистр

 

Вас заинтересует / Intresting for you:

Типы данных SQL: стандарт ANSI...
Типы данных SQL: стандарт ANSI... 4853 просмотров Дэн Sat, 05 Jun 2021, 09:43:17
Назначение языка SQL и необход...
Назначение языка SQL и необход... 3573 просмотров Ирина Светлова Mon, 28 Jun 2021, 19:23:28
Правила именование объектов SQ...
Правила именование объектов SQ... 9748 просмотров Дэн Sat, 05 Jun 2021, 09:02:07
Использование констант в запро...
Использование констант в запро... 4800 просмотров Дэйзи ак-Макарова Sat, 12 Jun 2021, 18:48:10
Войдите чтобы комментировать