
- •Лекция 4. Язык sql. Однострочные функции.
- •Функции
- •Примеры использования числовых функций
- •Символьные функции
- •Примеры использования функций для работы с датами
- •Модели формата даты и времени
- •Модели формата числа
- •Суффиксы, префиксы и другие элементы, влияющие на формат вывода
- •Примеры использования функций преобразования и моделей форматов
- •Пример использования to_char для преобразования чисел:
- •Вложенные однострочные функции
Модели формата даты и времени
Модель формата |
Описание |
SCC или CC |
Столетие. “S” означает, что даты до н.э. получают префикс “-”. |
YYYY или SYYYY |
Год четырьмя цифрами. ”S” означает, что даты до н.э. получают префикс “-”. |
YYY или YY или Y |
Последние 3, 2 или 1 цифра года. |
Y,YYY |
Год с запятой в указанной позиции. |
SYEAR или YEAR |
Год словами. “S” означает, что годы до н.э. получают префикс “-”. |
BC или AD |
Индикатор “до н.э./н.э.”. |
B.C. или A.D. |
Индикатор “до н.э./н.э.” с точками. |
Q |
Квартал. |
ММ |
Месяц в виде двузначного числа. |
MONTH |
Название месяца, дополненное конечными пробелами до 9 символов. |
MON |
Трехбуквенное сокращение название месяца. |
RM |
Номер месяца римскими цифрами. |
WW или W |
Неделя года или месяца. |
DDD или DD или D |
День года, месяца или недели. |
DAY |
Название дня недели, дополненное конечными пробелами до 9 символов. |
DY |
Трехбуквенное сокращение название дня недели. |
AM или PM |
Индикатор “до полудня/после полудня”. |
A.M. или P.M. |
Индикатор “до полудня/после полудня ” с точками. |
HH или HH12 или HH24 |
Время суток, час в 12-часовом диапазоне или час в 24-часовом диапазоне. |
MI |
Минуты (0-59). |
SS |
Секунды (0-59). |
SSSSS |
Количество секунд после полуночи (0-86399.) |
При выводе дат словами надо учитывать, что слова будут выводиться в том же регистре, что и модель формата. Например, если Вы укажете модель формата ‘Month’, то название месяца будет выводиться как ‘October’, если Вы укажете ‘month’, то – ‘october’, если Вы укажете ‘MONTH’, то – ‘OCTOBER’.
Модели формата числа
В примерах приведен результат запроса: SELECT TO_CHAR(-1234.567, ‘fmt’) FROM dual;
Модель формата |
Описание |
Пример |
Результат |
9 |
Числовая позиция (число девяток определяет ширину поля вывода) |
999999 999 |
-1235 #### |
0 |
Вывод ведущих нулей |
099999 |
-001235 |
$ |
Плавающий знак доллара |
$999999 |
-$1235 |
L |
Плавающий знак местной валюты |
L999999 |
-F1234 |
. |
Задает наличие в данной позиции десятичной точки |
999999.99 999999.9999 |
-1234.57 -1234.5670 |
, |
Ставит запятую в заданной позиции |
999,999 |
-1,235 |
MI |
Знак минус справа (для отрицательных значений) |
999999MI |
1235- |
PR |
Заключение отрицательных значений в скобки |
999999PR |
<1235> |
EEEE |
Научный формат (должен быть задан четырьмя символами ‘E’) |
99.999EEEE |
-1.235E+03 |
V |
Умножить на 10 n раз (n = число символов “9” после V) |
9999V99 |
-123457 |