П.6.4. Функции для работы с датой и временем
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

current_date          Текущая дата в виде значения типа date

current_time          Текущее время в виде значения типа time

current_timestamp Текущие дата и время в виде значения типа timestamp

date_part(s, t)    Выделяет из значения типа timestamp компонент даты или времени, определяемый строкой s

date_part(s, i)    Выделяет из значения типа interval компонент даты или времени, определяемый строкой s

date_trunc(s, t) Значение типа timestamp, усеченное до точности s. Под усечением понимается удаление всех компонентов, детализация которых превышает заданную

extract(k FROM t) Выделяет из значения типа timestamp компонент даты или времени, определяемый ключевым словом k

extract(k FROM i) Выделяет из значения типа interval компонент даты или времени, определяемый ключевым словом k

isfinite(t)            true, если значение типа timestamp соответствует конечной величине (не invalid и не infinity)

isfinite(i)            true, если значение типа interval соответствует конечной величине (не infinity)

now()                          Текущие дата и время в виде значения типа timestamp. Эквивалент константы now

timeofday()            Текущие дата и время в виде значения text

 

Компоненты типов timestamp и interval, использующиеся в функциях date_part(), date_trunc(), extract():

century          Год, разделенный на 100 (не совпадает с текущим веком!)

day                   День месяца (от 1 до 31) для типа timestamp, продолжительность интервала в днях для типа interval

decade            Год, разделенный на 10

dow                   День недели (от 0 до 6), начиная с воскресенья. Для типа interval не поддерживается

doy                   День года (от 1 до 366). Для типа interval не поддерживается

epoch              Количество секунд от начала эпохи (1 января 1970 г.) для типа timestamp, продолжительность интервала в секундах для типа interval

hour                Час в значении типа timestamp

microseconds Количество миллионных долей в дробной части секунд для значения типа timestamp

millenium     Год, разделенный на 1000 (не совпадает с текущим тысячелетием!)

milliseconds Количество тысячных долей в дробной части секунд для значения типа timestamp

minute            Минуты в значении типа timestamp или interval

month              Месяц в значении типа timestamp или остаток от деления продолжительности интервала в месяцах на 12 для типа interval

quarter          Квартал (от 1 до 4) для значений типа timestamp

second            Секунды в значении типа timestamp или interval

week                Номер недели в году для значений типа timestamp. В стандарте ISO-8601 первая неделя года определяется как неделя, в которую входит 4 января

year                Год в значении типа timestamp или interval

 

П.6.5. Функции преобразования типа

 

bitfromint4(n)      Преобразует число в битовую последовательность

bittoint4(b)          Преобразует битовую последовательность в десятичное представление

to_char(n, f)        Преобразует число в строку в формате f

to_char(t, f)        Преобразует значение типа timestamp в строку в формате f

to_date(s, f)        Преобразует строку в формате даты f в значение типа date

to_number(s, f)    Преобразует строку в формате даты f в значение типа numeric

to_timestamp(s, f) Преобразует строку в формате даты f в значение типа timestamp

timestamp(d)          Преобразует значение типа date к типу timestamp

timestamp(d, t)    Преобразует два значения типов date и time к типу timestamp

 

Функция to _ char () для чисел

Функция to_char(), вызываемая с аргументом n типа numeric и аргументом f типа text, форматирует число n в строку типа text. Строка f описывает формат выходного значения. Форматная строка f состоит из метасимволов, вместо которых PostgreSQL подставляет представляемые или значения.

Метасимволы форматирования чисел, используемые функциями to_char() для чисел и to_number():

9            Цифра

0            Цифра или начальный/конечный ноль, если количество цифр в f превышает количество цифр в n; может использоваться для принудительного вывода цифр в левой или правой части результата

.            Точка, отделяющая целую часть числа от дробной. Число может содержать только одну точку

,            Запятая. Число может содержать несколько запятых, используемых для разделения групп разрядов (тысячи, миллионы и т.д.)

D            Десятичный разделитель (например, точка), определяемый в локальном контексте

G            Разделитель групп разрядов (например, запятая), определяемый в локальном контексте

PR          Если PR находится в конце строки f, для отрицательных значений n результат заключается в угловые скобки

SG          Знак плюс (+) или минус (-) в зависимости от значения n

MI          Знак минус (-), если число n является отрицательным

PL          Знак плюс (+), если число n является положительным

S            Знак плюс (+) или минус (-), определяемый в локальном контексте

L            Денежный знак, определяемый в локальном контексте

RN          Римские цифры для значений n в интервале от 1 до 3999

TH, th Суффикс числительного для числа n (например, 4th или 2nd)

V            Для каждого метасимвола 9 после V добавляется лишний ноль, то есть фактически происходит умножение на степень 10

FM          Из числа удаляются все начальные и завершающие нули (созданные символами 9, но не 0), а также все лишние пробелы

 

Если количество цифровых позиций, обозначенных метасимволом 9 в форматной строке, превышает количество цифр в числе n, лишние позиции заполняются пробелами. Если лишние цифровые позиции обозначены метасимволом 0, лишние позиции заполняются нулями.

Если количество заданных цифровых позиций меньше необходимого для представления целой части числа, то во всех заданных позициях будет выведен символ #. Следовательно, в форматную строку необходимо включить максимальное количество цифр, которые могут быть получены в результате форматирования.

В форматной строке можно свободно использовать любые символы, не являющиеся метасимволами (например, символ $ и др.). В отформатированной строке они выводятся без изменений.

Чтобы метасимвол интерпретировался в форматной строке буквально (то есть как литерал), его следует заключить в кавычки. А чтобы включить в форматную строку литеральный символ кавычки, его необходимо экранировать двумя обратными косыми чертами.

Например:

SELECT to_char(1.0 '9th "Place"'),

to char(2.2, '9th "Place"'),

to_char(10, '99V99th "\\"Place\\""');

выведет

1st Place 2nd Place 1000th "Place"

 

Метасимволы форматирования даты и времени, использующиеся в функциях to_char() для типа timestamp, to_date() и to_timestamp():

HH, HH12                                  Час (от 1 до 12)

HH24                                           Час (от 1 до 23)

MI                                               Минуты (от 0 до 59)

SS                                               Секунды (от 0 до 59)

SSSS                                           Секунды, прошедшие с полуночи (от 0 до 86 399)

AM, PM, A.M, P.M                 Обозначение части суток в верхнем регистре с необязательным разделением символов точками

am, pm, a.m, p.m                 Обозначение части суток в нижнем регистре с необязательным разделением символов точками

TZ, tz                                       Часовой пояс в верхнем или нижнем регистре

CC                                               Век, представленный двумя цифрами (не равен году, разделенному на 100!)

Y, YY, YYY, YYYY, Y.YYY Последняя цифра, две цифры, три или четыре цифры года (с необязательным включением запятой)

BC, AD, B.C, A.D                 Признак эры в верхнем регистре

bc, ad, b.c, a.d                 Признак эры в нижнем регистре

MONTH, Month, month          Полное название месяца, дополненное справа пробелами до 9 символов и записанное либо в верхнем регистре, либо с начальной прописной буквой, либо в нижнем регистре

MON, Mon, mon                       Сокращенное трехбуквенное обозначение месяца, записанное либо в верхнем регистре, либо с начальной прописной буквой, либо в нижнем регистре

MM                                               Номер месяца (от 1 до 12)

RN, rn                                       Номер месяца в римской записи (от I до XII), в верхнем или нижнем регистре

DAY, Day, day                       Полное название дня недели, дополненное справа пробелами до 9 символов и записанное либо в верхнем регистре, либо с начальной прописной буквой, либо в нижнем регистре

DY, Dy, dy                              Сокращенное двухбуквенное обозначение дня недели, записанное либо в верхнем регистре, либо с начальной прописной буквой, либо в нижнем регистре

DDD, DD, D                              День года (от 1 до 366), день месяца (от 1 до 31) или день недели (от 1 до 7, начиная с воскресенья)

W                                                  Неделя месяца (от 1 до 5, с первого дня месяца)

WW                                               Неделя года (от 1 до 53, с первого дня года)

IW                                               Неделя года в стандарте ISO (с первого четверга нового года)

TH, th                                       Суффикс для предшествующего числа в верхнем или нижнем регистре

fm                                               Из строки удаляются все лишние нули и пробелы

 

Суффикс TH и префикс FM должны непосредственно примыкать к тому значению, которое они модифицируют. Например, FMDay, DDTH.

Запрос

SELECT to_char(publication, 'FMMonth FMDDth, YYYY'),

to_char(publication, 'YYYY-MM-DD'),

to_char(publication, 'Y.YYY "years" A.D.')

FROM editions

LIMIT 1;

выведет

March 1st, 1957  1957-03-01 1,957 years A.D.

 



СПИСОК ЛИТЕРАТУРЫ

 

1. Андон Ф. Язык запросов SQL. Учебный курс/ Ф. Андон, В. Резниченко. – Спб. ; Киев : Питер : Изд. группа BHV, 2006. – 415с. : ил. – ISBN 5-469-00394-9.

2. Грофф Джеймс Р., Вайнберг П. Энциклопедия SQL.-3-е изд. –СПб. : Питер, 2003. – 895с. : ил+1 CD. – ISBN 966-552-103-9;5- 88782-077-2.

3. Дунаев В.В. Базы данных. Язык SQL – СПб. : БХВ-Петербург, 2006. – 288. : ил. ISBN 5-94157-823-7.

4. Моисеенко С. И. SQL. Задачи и решения / С. И. Моисеенко. – Спб. : Питер, 2006. – 255с. : ил. – ISBN 5-469-01362-6.

5. Полякова Л. Н. Основы SQL : учеб. пособие / Л. Н. Полякова – 2-е изд., испp. – М. : Интернет-Университет Информационных Технологий : БИНОМ. Лаборатория знаний, 2007. – 223с. : ил. – (Основы информационных технологий). – ISBN 978-5-94774-649-5 ; 978-5-9556-0101-4.

6. СУБД : язык SQL в примерах и задачах : учеб. пособие для вузов / И. Ф. Астахова, В. М. Мельников, А. П. Толстобров, В. В. Фертиков. – М. : Физматлит, 2007. – 168с. : ил. – (Информационные и компьютерные технологии). – ISBN 978-5-9221-0816-4.

7. Уорсли Дж., Дрейк Дж. PostgreSQL. Для профессионалов (+ CD). – СПб. : Питер, 2003. – 496 с. : ил. ISBN 5-94723-337-1.



Для заметок

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________


 

Учебное издание


Мотина Надежда Владимировна

 

Язык SQL

 

Методические указания к лабораторным работам

по курсам «Базы данных» и «Управление данными»

 

 

Технический редактор: Н.В. Мотина

Компьютерная верстка: О.В. Воробьева

Корректор: С. Н. Емельянова

                                                                                                                                                 

 

Подписано в печать Формат 60´90/16

Гарнитура Times New Roman. Усл. п.л.

Тираж 68 экз. Заказ № +4747

 

Адрес издательства:

Россия, 180000, Псков, ул. Л. Толстого, д. 4

Издательство ПсковГУ

 

Дата: 2019-02-19, просмотров: 200.