對postgresql日期和時間的比較
更新時間:2025年01月30日 07:56:35 作者:安達と島村
文章介紹了在數據庫中處理日期和時間類型時的一些注意事項,包括如何將字符串轉換為日期或時間類型,以及在比較時自動轉換的情況,作者建議在使用數據庫時,根據具體情況進行適當的類型轉換,以避免潛在的錯誤
postgresql日期和時間比較
DB里保存到時分秒,需要和年月日比較
select date_trunc('day',now())=date_trunc('day',date('20200615')) --true
select date_trunc('day',date('20200611')) --2020-06-11 00:00:00+00
select * from users where date_trunc('day',birthday)=date_trunc('day',date('20200401'))db里存儲date或者timestamp字段
需要和字符串比較時,建議先使用to_date或者to_timestamp轉換。
測試發(fā)現pgsql往類型為timestamp的列插入字符串數據,或者用date/timestamp類型的數據跟字符串數據作比較時,會自動轉換成對應的date/timestamp。
oracle未測試。
select to_date('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss');
select to_timestamp('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss');select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')= to_timestamp('2019-01-15 00:00:00','yyyy-MM-dd hh24:mi:ss');
>>true
select to_timestamp('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')- to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss');
>>"18:33:42"
select to_timestamp('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019/01/15';
>>false
select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019/01/15';
>>true
select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019-01-15';
>>true
select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='20190115';
>>true
select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019/01-15';
>>ERROR: date型の入力構文が不正です: "2019/01-15"
SELECT
time,
to_timestamp('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss'),
time=to_timestamp('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss'),
time,to_date('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss'),
time=to_date('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss')
FROM public.product where id =21;
>>"2011-12-13 14:15:16+09"
>>"2011-12-13 14:15:16+09"
>>true
>>"2011-12-13 14:15:16+09"
>>"2011-12-13"
>>false
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PostgreSQL 中 pg_stat_database 視圖的 tup_re
PostgreSQL的pg_stat_database視圖中的tup_returned字段統計了數據庫中所有查詢返回的行數,是數據庫級別的累計值,它反映了數據庫的負載和查詢效率,本文介紹PostgreSQL中pg_stat_database視圖的tup_returned字段的含義,感興趣的朋友一起看看吧2025-12-12
PostgreSQL通過mysql_fdw實現?MySQL?透明查詢功能
mysql_fdw是一個PostgreSQL的FDW擴展,由EnterpriseDB開發(fā)并開源,它通過MySQL客戶端庫連接遠程?MySQL實例,并將遠程表映射為PostgreSQL中的外部表本文配置mysql_fdw,實現PostgreSQL對MySQL表的透明讀寫訪問,真正做到“一處查詢,跨庫聯動”,感興趣的朋友跟隨小編一起看看吧2026-02-02
Navicat連接postgresql時出現'datlastsysoid?does?not?exist&
這篇文章主要給大家介紹了關于Navicat連接postgresql時出現'datlastsysoid?does?not?exist'報錯問題的完美解決辦法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2024-02-02
Cenots7 離線安裝部署PostgreSQL 的詳細過程
這篇文章主要介紹了Cenots7 離線安裝部署PostgreSQL 的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10

