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


SELECT timestamp with time zone '2016-09-21 22:25:35'



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

SELECT timestamp with time zone '2016-09-21 22:25:35';
timestamptz
------------------------
2016-09-21 22:25:35+03
(1 строка)
Обратите внимание, что хотя мы не указали явно значение часового пояса при вводе
данных, при выводе это значение «+03» было добавлено.
А это пример без учета часового пояса:
SELECT timestamp '2016-09-21 22:25:35';
timestamp
---------------------
2016-09-21 22:25:35
(1 строка)
В рассмотренных примерах мы использовали синтаксис type 'string' для указания
конкретного типа простой литеральной константы. Имя типа данных мы указыва-
ли не после преобразуемого литерала, а перед ним, например, timestamp '2016-09-21
22:25:35'. Строго говоря, это не является операцией приведения типа, хотя и похоже
на нее. Подробно данный вопрос рассмотрен в разделах документации 4.1.2.7 «Кон-
станты других типов» и 4.2.9 «Приведения типов».
Для получения значения текущей временн´ой отметки (т. е. даты и времени в одном
значении) служит функция current_timestamp. Она также вызывается без использо-
вания круглых скобок. Приведем пример ее использования.
SELECT current_timestamp;
now
-------------------------------
2016-09-27 18:27:37.767739+03
(1 строка)
Здесь в выводе присутствует и часовой пояс: «+03».
Оба типа данных — timestamp и timestamptz — занимают один и тот же объем 8 бай-
тов, но значения типа timestamptz хранятся, будучи приведенными к нулевому часо-
вому поясу (UTC), а перед выводом приводятся к часовому поясу пользователя.
44


На практике при принятии решения о том, какой из этих двух типов — timestamp или
timestamptz — использовать, необходимо учитывать, требуется ли значения, храня-
щиеся в таблице, приводить к местному часовому поясу или не требуется. Например,
в расписании авиарейсов указывается местное время как для аэропорта отправле-
ния, так и для аэропорта прибытия. Поэтому в таком случае нужно использовать тип
timestamp, чтобы это время не приводилось к текущему часовому поясу пользовате-
ля, где бы он ни находился.
Из двух этих типов данных чаще используется timestamptz.
Последним типом является interval, который представляет продолжительность от-
резка времени между двумя моментами времени. Его формат ввода таков:


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




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

    Басты бет