как добавить знак плюс и миллисекунды к дате в postgresql?

#postgresql #postgresql-9.2

Вопрос:

дата похожа на 2021-07-23

ожидаемый результат похож на этот 2021-07-24 00:00:00 08 , обратите внимание 08 ?

Я пытался сделать это ниже, но я не получаю символ плюса

s_table.school_date INTERVAL '1 day'

есть идеи, как это сделать 08 ?

Ответ №1:

Это время с включенным часовым поясом.

Попробуйте запустить следующее в Postgres, и оно вернет вам дату и время с часовым поясом, который находится после или - в зависимости от того, где вы находитесь.

 SELECT NOW();
 

Правка-01:

попробуйте выполнить следующий код:

 s_table.school_date::timestamptz   INTERVAL '1 day'
 

Комментарии:

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

2. Я должен добавить интервал в 1 день, пожалуйста, смотрите пример выше

3. неважно. .Я решил ее следующим образом (s_table.school_date INTERVAL '1 day')::timestamptz

4. @sasori, который тоже работает, или код, который я предоставил выше.

Ответ №2:

Я не смог это проверить, но вы пробовали указать эту дату в качестве метки времени?

Смотрите эту страницу из учебника по postgresql о различных типах меток времени.

Так что вы могли бы попробовать:

 (s_table.school_date   INTERVAL '1 day')::timestampz
 

чтобы преобразовать ваше текущее значение в метку времени с часовым поясом.

Если возвращенный часовой пояс неверен, вы можете использовать SET timezone='America/Los_Angeles' или найти часовой пояс, который использует ваша текущая база данных с SHOW timezone; Вы также можете просмотреть все часовые пояса для своей базы данных с SELECT * FROM pg_timezone_names; помощью .

Я получил информацию о конкретном часовом поясе с этого ресурса.

Я бы обязательно сначала проверил настройку часового пояса в транзакции, поскольку я обеспокоен тем, что это установит часовой пояс для всей вашей базы данных, и это может повлиять на другие процедуры / запросы, происходящие в вашей базе данных.

Я надеюсь, что это поможет! Извините, что я не смог сначала опробовать его, прежде чем отправлять эту информацию.

правка: похоже, я был немного медлителен! Рад, что ты это понял 🙂