PostgreSQL的日期运算计算函数使用
2015-06-03 18:31
417 查看
一:各个数据中的连接符
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
三:
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
相关文章推荐
- Mysql PXC 问题从节点不能启动问题
- MySql之char与varchar
- Navicat for Mysql 只导出数据表结构(.sql文件)的方法
- 关于mysql数据库在运行中出现MySQL server has gone away的问题解决
- sql 时间函数基础
- TSql bulk insert 用法
- oracle 时间戳TIMESTAMP
- (5)mysql优化之MyISAM表锁
- pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。
- SQL Server系统视图 [不定期更新]
- KETTLE一行一行执行方法
- JDBC(韩顺平Oracle)
- redis 安装记录
- sql 读取本地txt文件批量插入数据库
- Oracle EBS 入门
- 提示“应用程序无法启动,因为应用程序的并行配置不正确”不能加载 System.Data.SQLite.dll
- NOSQL Mongo入门学习笔记 - 数据的基本插入(二)
- 利mysql-binlog日志恢复数据库
- 数据库分页查询(Sql封装及存储过程)
- SQL Server 删除大量数据锁死