PostgreSQL的日期运算计算函数使用

一:各个数据中的连接符

SqlServer的连接符:+(加号)

Sqlite的连接符:.(点)

PostgreSQL的连接符:||(或)

二:

今天在PostgreSQL计算日期的时候,翻了一些资料,很少,就记录下来吧~!

其中使用到的函数及变量

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中进行日期计算时,用到函数
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的日期运算计算函数使用)