PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да конвертирате низ във времева марка без часова зона

Низово представяне на timestamp (=timestamp without time zone ) зависи от настройките ви за локал. Следователно, за да избегнете неясноти, водещи до грешки в данните или Postgres до изкашване на изключение, имате две възможности:

1.) Използвайте формат ISO 8601 , който работи по същия начин с всяко локал или DateStyle настройка:

'2013-08-20 14:52:49'

Може да се наложи да изведете изрично низовия литерал, когато типът данни не може да бъде извлечен от контекста, в зависимост от случая на употреба:

'2013-08-20 14:52:49'::timestamp

2.) Преобразувайте низа в timestamp използвайки to_timestamp() със съответстващ шаблон на шаблон:

to_timestamp('20/8/2013 14:52:49', 'DD/MM/YYYY hh24:mi:ss')

Това връща timestamptz , като се приеме текущата настройка на часовата зона. Обикновено (като при присвояване) типът се принуждава съответно. За timestamp , това означава, че отместването на времето е съкратено и получавате очакваната стойност. Отново, ако целевият тип не може да бъде извлечен от контекста, може да се наложи да предадете изрично:

to_timestamp('20/8/2013 14:52:49', 'DD/MM/YYYY hh24:mi:ss')::timestamp

Тъй като това просто премахва изместването на времето, това води до очакваната стойност. Или използвайте AT TIME ZONE конструирайте с часова зона по ваш избор:

to_timestamp('20/8/2013 14:52:49', 'DD/MM/YYYY hh24:mi:ss') AT TIME ZONE 'UTC'

Докато целевата часова зона е същата като текущата ви timezone настройка, не се извършва трансформация. В противен случай получената времева марка се транспонира съответно. Допълнително четене:

  • Изцяло игнориране на часовите зони в Rails и PostgreSQL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Колко различен е PostgreSQL от MySQL?

  2. Използване на слотове за репликация на PostgreSQL

  3. Конкатениране на низ и число в PostgreSQL

  4. Преглед на репликацията на ниво обем за PostgreSQL с помощта на DRBD

  5. Създаване на студен режим на готовност за PostgreSQL с помощта на Amazon AWS