mysql一些时间处理函数

1select UNIX_TIMESTAMP()

返回1970到当前时间的秒数,也可以带参数,表示1970到指定时间的秒数

2select DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s')

时间格式化 %y返回两位年 %Y返回4位年

3select FROM_UNIXTIME(123456789[,fmt])

通过秒返回日期,第一个参数必须,为1970之后的秒数,第二个参数可选,对日期进行格式化,默认为%Y-%m-%d %h:%i:%s

4NOW()/CURDATE()/CURRENT_DATE()/CURTIME()/CURRENT_TIME()/CURRENT_TIMESTAMP()/CURRENT_DATE/CURRENT_TIMESTAMP

获取当前时间或日期的几个函数或变量,像CURDATE()/CURRENT_DATE()都是返回当前日期,区别没看出来,估计是线程启动前和开始执行的这些区别、对于不是太耗时的sql应该没什么区别

5select YEAR()/MONTH()/DAY()/HOUR()/MINUTE()/SECOND()

懂的自然都懂~

6select DAYOFMONTH()\DAYOFWEEK()\DAYOFYEAR()\DAYNAME()\QUARTER()

参数为日期 分别表示一个的多少天、一周的多少天、一年的多少天、星期的英文名字、季度,其中周星期日是第一天

7select TO_DAYS(NOW())

返回公元0年到现在的天数

8select DATE_SUB(CURDATE(),INTERVAL 1 DAY)/DATE_ADD(CURDATE(),INTERVAL 1 DAY)

日期加减 第一个参数指定日期、第二个参数有点像关键字、可正负、第三个参数指定间隔数量、第四个表示间隔类型,对应到三个参数 1天、1分钟等等

可选 YEAR MONTH DAY HOUR MINUTE SECOND

9select MAKEDATE(2014,50)\select MAKETIME(10,15,0)

创建指定日期或时间

测试代码

select UNIX_TIMESTAMP()

select DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s')

select FROM_UNIXTIME(123456789)

select NOW()

select CURDATE()

select CURRENT_DATE()

select CURTIME()

select CURRENT_TIME()

select CURRENT_TIMESTAMP()

select CURRENT_DATE

select CURRENT_TIMESTAMP

select CURRENT_USER()

select YEAR() 
select MONTH() 
select DAY() 
select HOUR() 
select MINUTE() 
select SECOND()

select DAYOFMONTH()
select DAYOFWEEK('2014-1-26')
select DAYOFYEAR(now())

select TO_DAYS('0-1-1')

select DATE_SUB(CURDATE(),INTERVAL 1 DAY)
select DATE_ADD(CURDATE(),INTERVAL 1 DAY)

select MAKEDATE(2014,50)
select MAKETIME(10,15,0)

猜你喜欢

转载自yahesmile.iteye.com/blog/2009359