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

Вземете клеймо за време от свързване на колони за ден и час

date и time типове

Ако вашият Day е от тип date и вашето Time е от тип time , има много просто решение:

SELECT EXTRACT(EPOCH FROM (day + time));

Можете просто да добавите date и time за да получите timestamp [without time zone] (което се интерпретира според настройката на часовата зона на вашата сесия).

И, строго погледнато, извличането на епохата не е свързано с вашия въпрос само по себе си.
date + time доведе до timestamp , това е.

Типове низове

Ако говорите за низови литерали или text / varchar колони, използвайте:

SELECT EXTRACT(EPOCH FROM ('2013-07-18' || ' ' || '21:52:12')::timestamp);

или

SELECT EXTRACT(EPOCH FROM cast('2013-07-18' ||' '|| '21:52:12' AS timestamp));

Вашият формулярне работа

SELECT EXTRACT(EPOCH FROM TIMESTAMP ('2013-07-18' || ' ' || '21:52:12'));

Това ще работи:

SELECT EXTRACT(EPOCH FROM "timestamp" ('2013-07-18' || ' ' || '21:52:12'));

Цитирам ръководството за преобразуване на типове :

Удебелен акцент е мой.
Същността на това:по-скоро използвайте един от първите два варианта на синтаксис.



  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 не изисква парола

  2. Postgres on Rails ФАТАЛНО:базата данни не съществува

  3. Кога Postgres проверява уникалните ограничения?

  4. Вмъкване на NULL/празен низ с помощта на библиотеката libpqxx

  5. Postgresql:Няма достъп до файла « $libdir/postgis-2.1 » няма такъв файл или директория