PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Dapatkan stempel waktu dari kolom hari dan waktu yang digabungkan

date dan time jenis

Jika Day . Anda bertipe date dan Time bertipe time , ada solusi yang sangat sederhana:

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

Anda cukup menambahkan date dan time untuk mendapatkan timestamp [without time zone] (yang ditafsirkan sesuai dengan pengaturan zona waktu sesi Anda).

Dan, sebenarnya, mengekstrak epoch itu sendiri tidak terkait dengan pertanyaan Anda.
date + time menghasilkan timestamp , itu dia.

Jenis string

Jika Anda berbicara tentang string literal atau text / varchar kolom, gunakan:

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

atau

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

Formulir Anda tidak kerja

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

Ini akan berhasil:

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

Saya mengutip manual tentang tipe gips :

Penekanan saya yang berani.
Intinya:lebih baik gunakan salah satu dari dua varian sintaks pertama.



  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 PL/Python:panggil prosedur tersimpan di virtualenv

  2. Bagaimana sql dengan pernyataan rekursif ditafsirkan?

  3. Membuat Pengaturan Replikasi PostgreSQL di Debian / Ubuntu

  4. PgSQL mengubah hari-hari menjadi tanggal

  5. simpan string dengan panjang sewenang-wenang di Postgresql