Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

PostgreSQL: не могу понять timestamp

Ян Петрушкин Мастер (2187), закрыт 9 месяцев назад
Читаю про преобразование даты в unixtime.
В примере написано:
SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-08');

Для чего тут применяется timestamp?

И почему когда я в запросе в SELECT указываю timestamp, now() получаю (как пример)
"2019-09-18 18:13:04.62""2019-09-18 18:13:31.79428+00"

Ну то есть разное время.
Правильно я понимаю, что timestamp это временная метка присваиваемая при записи строки в БД? А now() ...ну и так понятно...
Лучший ответ
Андрей Высший разум (425593) 4 года назад
Нет, ты понимаешь неправильно. TIMESTAMP и TIMESTAMP WITH TIME ZONE (да, 4 слова) - это ТИПЫ ДАННЫХ (в том числе и типы столбцов таблиц БД), используемые для хранения временной метки. И 'FROM TIMESTAMP WITH TIME ZONE' в EXTRACT указывает, как интерпретировать строку '2001-02-16 20:38:40-08'.

А NOW() - функция, которая возвращает текущее время в виде значения типа TIMESTAMP WITH TIME ZONE.
Остальные ответы
Похожие вопросы