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, просмотров: 227.