SQL Date 函数

1.MySQL Date 函数
函数 描述 

NOW() 返回当前的日期和时间 
CURDATE() 返回当前的日期 
CURTIME() 返回当前的时间 
DATE() 提取日期或日期/时间表达式的日期部分 
EXTRACT() 返回日期/时间按的单独部分 
DATE_ADD() 给日期添加指定的时间间隔 
DATE_SUB() 从日期减去指定的时间间隔 
DATEDIFF() 返回两个日期之间的天数 
DATE_FORMAT() 用不同的格式显示日期/时间 

2.SQL Server Date 函数
函数 描述 

GETDATE() 返回当前日期和时间 
DATEPART() 返回日期/时间的单独部分 
DATEADD() 在日期中添加或减去指定的时间间隔 
DATEDIFF() 返回两个日期之间的时间 
CONVERT() 用不同的格式显示日期/时间 

3.SQL Date 数据类型
MySQL 使用下列数据类型在数据库中存储日期或日期/时间值:

DATE - 格式 YYYY-MM-DD 
DATETIME - 格式: YYYY-MM-DD HH:MM:SS 
TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS 
YEAR - 格式 YYYY 或 YY 
SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:
DATE - 格式 YYYY-MM-DD 
DATETIME - 格式: YYYY-MM-DD HH:MM:SS 
SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS 
TIMESTAMP - 格式: 唯一的数字 

 

4.Oracle日期函数:

 

--常用日期型函数
1)、Sysdate 当前日期和时间

Select sysdate from dual;

2)、Add_months(d,n) 当前日期d后推n个月
用于从一个日期值增加或减少一些月份

当前日期后两个月:
Select add_months(sysdate,2) from dual;
当前日期前三个月:
Select add_months(sysdate,-3) from dual;

3)、dbtimezone()返回时区

select dbtimezone from dual;

4)、round[舍入到最接近的日期](day:舍入到最接近的星期日)

select sysdate S1,
round(sysdate) S2 ,
round(sysdate,'year') YEAR,
round(sysdate,'month') MONTH ,
round(sysdate,'day') DAY fromdual

5)、next_day( date, weekday )指定日期的下一个日期
语法 : next_day( date,weekday )

select Next_day(to_date(20130107,'yyyymmdd'), 2) from dual ;

该函数功能很强大,但是需要注意,周日是1,周一是2,以此类推
6)、trunc[截断到最接近的日期,单位为天] ,返回的是日期类型

select sysdate S1,
trunc(sysdate) S2, --返回当前日期,无时分秒
trunc(sysdate, 'year') YEAR,--返回当前年的1月1日,无时分秒
trunc(sysdate, 'month')MONTH, --返回当前月的1日,无时分秒
trunc(sysdate, 'day') DAY --返回当前星期的星期天,无时分秒
from dual

7)、last_day 一个月中的最后一天

select last_day(Trunc(SYSDATE, 'MONTH')) from dual

返回最后一天;
如果直接使用 selectlast_day(SYSDATE) from dual,不仅仅会返回日期,还会返回当前的时分秒等内容;
8)、to_date,to_char日期和字符转换函数用法

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; --日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; --获取时间的年
select to_char(sysdate,'q') asnowSecond from dual; --获取时间的季度
select to_char(sysdate,'mm') asnowMonth from dual; --获取时间的月
select to_char(sysdate,'dd') asnowDay from dual; -获取时间的日
select to_char(sysdate,'hh24') as nowHour from dual; --获取时间的时
select to_char(sysdate,'mi') asnowMinute from dual; --获取时间的分
select to_char(sysdate,'ss') asnowSecond from dual; --获取时间的秒

将字符串转换为日期类型

select to_date('2013-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual ;

9)、months_between两个日期之间的月份差

select months_between(to_date(201302,'yyyymm'),to_date(201212,'yyyymm'))as ans from dual;

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值