Учебно-практическое пособие москва 2017 ббк



Pdf көрінісі
бет38/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   34   35   36   37   38   39   40   41   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT '21:15'::time;
При выводе СУБД дополнит введенное значение, в котором присутствуют только ча-
сы и минуты, секундами.
time
----------
21:15:00
(1 строка)
Чтобы «сказать» СУБД, что введенное значение является значением времени, а не
простой символьной строкой, мы опять использовали операцию приведения типа.
Предложим СУБД заведомо недопустимое значение времени, например:
42


SELECT '25:15'::time;
Получим такое сообщение об ошибке:
ОШИБКА: значение поля типа date/time вне диапазона: "25:15"
СТРОКА 1: select '25:15'::time;
^
А теперь возьмем значение, которое включает еще и секунды.
SELECT '21:15:26'::time;
time
----------
21:15:26
(1 строка)
А если число секунд недопустимое, то опять получим сообщение об ошибке.
SELECT '21:15:69'::time;
ОШИБКА: значение поля типа date/time вне диапазона: "21:15:69"
СТРОКА 1: select '21:15:69'::time;
^
Время можно вводить не только в 24-часовом формате, но и в 12-часовом, при этом
нужно использовать дополнительные суффиксы am и pm. Например:
SELECT '10:15:16 am'::time;
time
----------
10:15:16
(1 строка)
SELECT '10:15:16 pm'::time;
time
----------
22:15:16
(1 строка)
Для получения значения текущего времени служит функция current_time. При ее вы-
зове круглые скобки не используются.
SELECT current_time;
timetz
--------------------
23:51:57.293522+03
(1 строка)
43


Текущее время выводится с высокой точностью и дополняется числовым значением,
соответствующим локальному часовому поясу, который установлен в конфигураци-
онном файле сервера PostgreSQL. В приведенном примере значение часового пояса
равно +03, но если ваш компьютер находится в другом часовом поясе, то это значение
будет другим, например, для регионов Сибири оно может быть +08.
В результате объединения типов даты и времени получается интегральный тип —
временная отметка. Этот тип существует в двух вариантах: с учетом часового поя-
са — timestamp with time zone, либо без учета часового пояса — timestamp. Для пер-
вого варианта существует сокращенное наименование — timestamptz, которое явля-
ется расширением PostgreSQL. При вводе и выводе значений этого типа данных ис-
пользуются соответствующие форматы ввода и вывода даты и времени. Вот пример
с учетом часового пояса:


Достарыңызбен бөлісу:
1   ...   34   35   36   37   38   39   40   41   ...   243




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

    Басты бет