TO_CHAR ФУНКЦИЯ

В этом учебном пособии вы узнаете, как использовать Oracle/PLSQL функцию TO_CHAR с синтаксисом и примерами.

Описание

Функция Oracle/PLSQL TO_CHAR преобразует число или дату в строку.

Синтаксис

Синтаксис функции Oracle/PLSQL TO_CHAR:

TO_CHAR( value, [ format_mask ], [ nls_language ] )

Параметры или аргументы

value может принимать числовое значение или дату, которые будут преобразованы в строку.

format_mask не является обязательным. Это формат, который будет использоваться для преобразования значения в строку.

nls_language не является обязательным. Это язык NLS используется для преобразования значения в строку.

Примечание

Функция TO_CHAR возвращает string значение.

Применение

Функцию TO_CHAR можно использовать в следующих версиях Oracle/PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Пример

Рассмотрим несколько примеров функции TO_CHAR и изучим, как использовать функцию TO_CHAR в Oracle/PLSQL.

Для чисел

Ниже приведены примеры для функции TO_CHAR для чисел.

Для дат

Ниже приведен список допустимых параметров, когда функция TO_CHAR используется для преобразования даты в строку. Эти параметры могут быть использованы во многих комбинациях.

Параметр Пояснение
YEAR Год.
YYYY 4-значный год.
YYY
YY
Y
Последние 3, 2 или 1 цифра(ы) года.
IYY
IY
I
Последние 3, 2 или 1 цифра(ы) года ISO.
IYYY 4-значный год в соответствии со стандартом ISO.
Q Квартал года (1, 2, 3, 4; JAN-MAR = 1).
MM Месяц (01-12; JAN = 01).
MON Сокращенное название месяца.
MONTH Название месяца, дополненное пробелами длиной до 9 символов.
RM Римская цифра RM (I-XII; JAN = I).
WW Неделя года (1-53), где неделя 1 начинается в первый день года и продолжается до седьмого дня года.
W Неделя месяца (1-5), где неделя 1 начинается в первый день месяца и заканчивается седьмым.
IW Неделя года (1-52 или 1-53) на основе стандарта ISO.
D День недели (1-7).
DAY Название дня.
DD День месяца (1-31).
DDD День года (1-366).
DY Сокращенное название дня.
J юлианский день; количество дней с 1 января 4712 г. до н.э.
HH Час дня (1-12).
HH12 Час дня (1-12).
HH24 Час дня (0-23).
MI Минуты (0-59).
SS Секунды (0-59).
SSSSS Секунды после полуночи (0-86399).
FF Дробные секунды.

Ниже приведены примеры функции TO_CHAR для дат.

Вы заметите, что в некоторых примерах функции TO_CHAR, параметр format_mask начинается с ‘FM’. Это означает, что нули и пробелы подавлены. Это можно увидеть в приведенных ниже примерах.

Нули были подавлены, так что день показывает, как «9», а не «09».

Вопросы и ответы

Вопрос:

Почему не получается отсортировать дни недели по порядку?

Ответ:

В приведенном выше запросе SQL, маска формата ‘fmDay’ в функции TO_CHAR вернет наименование дня, а не числовое значение дня.

Для сортировки дней недели, вам нужно вернуть числовое значение дня с помощью маски формата ‘fmD’ следующим образом: