postgresql中時(shí)間轉(zhuǎn)換和加減操作
昨天遇到一個(gè)floor向下取整的問(wèn)題,現(xiàn)在將它記錄下來(lái)。
首先f(wàn)loor是需要一個(gè)int或者dp。那么我們?nèi)掌诩訙p轉(zhuǎn)換,timestamp 轉(zhuǎn)data,是需要先將其轉(zhuǎn)成char,再由char轉(zhuǎn)date,再相減,得出一個(gè)符合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的當(dāng)前時(shí)間,也是用util的date轉(zhuǎn)string再轉(zhuǎn)timestamp
補(bǔ)充:PostgreSQL的日期運(yùn)算計(jì)算函數(shù)使用
一:各個(gè)數(shù)據(jù)中的連接符
SqlServer的連接符:+(加號(hào))
Sqlite的連接符:.(點(diǎn))
PostgreSQL的連接符:||(或)
二:
今天在PostgreSQL計(jì)算日期的時(shí)候,翻了一些資料,很少,就記錄下來(lái)吧~!
其中使用到的函數(shù)及變量
to_char()、Date()、now()、current_date
計(jì)算兩個(gè)日期的差
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中進(jìn)行日期計(jì)算時(shí),用到函數(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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
PostgreSQL怎么創(chuàng)建分區(qū)表詳解
數(shù)據(jù)庫(kù)表分區(qū)把一個(gè)大的物理表分成若干個(gè)小的物理表,并使得這些小物理表在邏輯上可以被當(dāng)成一張表來(lái)使用,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL怎么創(chuàng)建分區(qū)表的相關(guān)資料,需要的朋友可以參考下2022-06-06聊聊PostgreSql table和磁盤文件的映射關(guān)系
這篇文章主要介紹了聊聊PostgreSql table和磁盤文件的映射關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgreSQL 實(shí)現(xiàn)登錄及修改密碼操作
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)登錄及修改密碼操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgresSql 多表關(guān)聯(lián)刪除語(yǔ)句的操作
這篇文章主要介紹了PostgresSql 多表關(guān)聯(lián)刪除語(yǔ)句的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01postgresql 利用fdw來(lái)實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間數(shù)據(jù)互通(推薦)
這篇文章主要介紹了postgresql 利用fdw來(lái)實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間數(shù)據(jù)互通,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02PostgreSQL中使用dblink實(shí)現(xiàn)跨庫(kù)查詢的方法
這篇文章主要介紹了PostgreSQL中使用dblink實(shí)現(xiàn)跨庫(kù)查詢的方法,需要的朋友可以參考下2017-05-05PostgreSQL 中的單引號(hào)與雙引號(hào)用法說(shuō)明
這篇文章主要介紹了PostgreSQL 中的單引號(hào)與雙引號(hào)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧
本文給大家分享在Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧,給大家?guī)?lái)了詳細(xì)的安裝步驟,對(duì)Postgresql 安裝配置相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)吧2021-05-05PostgreSQL標(biāo)準(zhǔn)建表語(yǔ)句分享
這篇文章主要介紹了PostgreSQL標(biāo)準(zhǔn)建表語(yǔ)句分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12