postgresql中時間轉換和加減操作
昨天遇到一個floor向下取整的問題,現(xiàn)在將它記錄下來。
首先floor是需要一個int或者dp。那么我們日期加減轉換,timestamp 轉data,是需要先將其轉成char,再由char轉date,再相減,得出一個符合floor函數(shù)要求的值。
代碼如下:
FLOOR((to_date(to_char(current_timestamp, 'yyyy-MM-dd hh:mi:ss'), 'yyyy-mm-dd')
- to_date(to_char(ca.birthday, 'yyyy-MM-dd hh:mi:ss'), 'yyyy-mm-dd')) / 365) as age
同樣的,在java里面要想得到timestamp的當前時間,也是用util的date轉string再轉timestamp
補充:PostgreSQL的日期運算計算函數(shù)使用
一:各個數(shù)據(jù)中的連接符
SqlServer的連接符:+(加號)
Sqlite的連接符:.(點)
PostgreSQL的連接符:||(或)
二:
今天在PostgreSQL計算日期的時候,翻了一些資料,很少,就記錄下來吧~!
其中使用到的函數(shù)及變量
to_char()、Date()、now()、current_date
計算兩個日期的差
current_date為今天的日期,為:2015-06-03
Date('2015-06-05')-current_date=2 select to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'),Date(to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'))-current_date from tablename where delflag=0 and status=0 and Date(to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'))-current_date>=0 and Date(to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'))-current_date<=7 order by birthday desc
三:
select now() + interval '1 days'; select now() + interval '1 month'; select now() + interval '1 years';
四:
SqlServer中進行日期計算時,用到函數(shù)
CONVERT(),DATEPART(),getDate() select CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120),datediff(day,CONVERT(varchar(10),getdate(),120),CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120)) from tablename where delflag=0 and status=0 and datediff(day,CONVERT(varchar(10),getdate(),120),CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120))<=7 and datediff(day,CONVERT(varchar(10),getdate(),120),CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120))>=0 order by birthday desc
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
PostgreSQL怎么創(chuàng)建分區(qū)表詳解
數(shù)據(jù)庫表分區(qū)把一個大的物理表分成若干個小的物理表,并使得這些小物理表在邏輯上可以被當成一張表來使用,下面這篇文章主要給大家介紹了關于PostgreSQL怎么創(chuàng)建分區(qū)表的相關資料,需要的朋友可以參考下2022-06-06postgresql 利用fdw來實現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)互通(推薦)
這篇文章主要介紹了postgresql 利用fdw來實現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)互通,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02PostgreSQL中使用dblink實現(xiàn)跨庫查詢的方法
這篇文章主要介紹了PostgreSQL中使用dblink實現(xiàn)跨庫查詢的方法,需要的朋友可以參考下2017-05-05Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧
本文給大家分享在Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧,給大家?guī)砹嗽敿毜陌惭b步驟,對Postgresql 安裝配置相關知識感興趣的朋友跟隨小編一起學習吧2021-05-05