Saya ingin mengekstrak hanya bagian tanggal dari timestamp di PostgreSQL.
Saya membutuhkannya menjadi DATE
tipe postgresql sehingga saya bisa memasukkannya ke tabel lain yang mengharapkan suatu DATE
nilai.
Misalnya, jika sudah 2011/05/26 09:00:00
, saya mau2011/05/26
Saya mencoba casting, tetapi saya hanya mendapatkan 2011:
timestamp:date
cast(timestamp as date)
Saya mencoba to_char()
dengan to_date()
:
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Saya mencoba membuatnya berfungsi:
CREATE OR REPLACE FUNCTION testing() RETURNS void AS '
DECLARE i_date DATE;
BEGIN
SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD")
INTO i_date FROM exampTable WHERE id=1;
INSERT INTO foo(testd) VALUES (i);
END
Apa cara terbaik untuk mengekstrak tanggal (yyyy / mm / dd) dari cap waktu di PostgreSQL?
sumber
Gunakan fungsi tanggal :
Dari representasi bidang karakter hingga tanggal, Anda dapat menggunakan:
Kode uji:
Hasil tes:
sumber
Sudahkah Anda mencoba mengubahnya menjadi kencan
<mydatetime>::date
?sumber
Ini bekerja untuk saya di python 2.7
sumber
Alat tes lain:
sumber
Lakukan saja
select date(timestamp_column)
dan Anda akan mendapatkan satu-satunya bagian tanggal. Kadang-kadang melakukanselect timestamp_column::date
mungkin kembali didate 00:00:00
tempat itu tidak menghapus00:00:00
bagian. Tetapi saya telah melihatdate(timestamp_column)
untuk bekerja dengan sempurna dalam semua kasus. Semoga ini membantu.sumber
Dalam postgres cukup: TO_CHAR (timestamp_column, 'DD / MM / YYYY') sebagai submission_date
sumber