欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql中時間轉換和加減操作

 更新時間:2020年12月28日 10:42:45   作者:荒夜長歌  
這篇文章主要介紹了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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

最新評論