Учебное пособие Санкт-Петербург «бхв-петербург»


SELECT '2016-09-12'::date



Pdf көрінісі
бет42/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   38   39   40   41   42   43   44   45   ...   256
sql osnovi yazika

SELECT '2016-09-12'::date;
date
------------
2016-09-12
(1 строка)
А в следующем примере используется другой формат ввода, но формат вывода оста-
ется тот же самый, поскольку мы его не изменяли:
SELECT 'Sep 12, 2016'::date;
date
------------
2016-09-12
(1 строка)
Чтобы «сказать» СУБД, что введенное значение является датой, а не простой сим-
вольной строкой, мы использовали операцию приведения типа. В PostgreSQL она
оформляется с использованием двойного символа «двоеточие» и имени того типа,
к которому мы приводим данное значение. Важно учесть, что при выполнении при-
ведения типа производится проверка значения на соответствие формату целевого
типа и множеству его допустимых значений.
В PostgreSQL предусмотрен целый ряд функций для работы с датами и временем. На-
пример, для получения значения текущей даты служит функция current_date. Ее
особенностью является то, что при ее вызове круглые скобки не используются.
SELECT current_date;
date
------------
2016-09-21
(1 строка)
Если нам требуется вывести дату в другом формате, то для разового преобразования
формата можно использовать функцию to_char, например:
SELECT to_char( current_date, 'dd-mm-yyyy' );
57


Глава 4. Типы данных СУБД PostgreSQL
СУБД выведет:
to_char
------------
21-09-2016
(1 строка)
Обратите внимание, что для демонстрации возможностей СУБД по работе с датами
нам даже не потребовалось создавать таблицу, а оказалось достаточно лишь команды
SELECT.
Для хранения времени суток служат два типа данных: time и time with time zone.
Первый из них хранит только время суток, а второй — дополнительно — еще и ча-
совой пояс. Однако документация на PostgreSQL не рекомендует использовать тип
time with time zone, поскольку смещение (offset), соответствующее конкретному
часовому поясу, может зависеть от даты перехода на летнее время и обратно, но в
этом типе дата отсутствует. При вводе значений времени допустимы различные фор-
маты, например:


Достарыңызбен бөлісу:
1   ...   38   39   40   41   42   43   44   45   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет