mysql可以做日期处置吗
mysql可以做日期处置;它可以利用CURDATE()、NOW()、YEAR()、MONTH()、DAY()、HOUR()、MINUTE()、SECOND()等内置函数来做日期处置,例“SELECT CURDATE()”猎取当前日期。
比来一个项目,需要写许多的sql语句。触及到许多与时间相关的处置,此刻做一下简便的总结。
1.时间格局:在这个项目中,或许是由不一样的人创立的数据库表构造吧,对时间的格局步统一,有的表中储备的long类型的时间戳,有的表中是储备的日期,有的表中储备的是时间,同时格局有20171225,2017-12-25等,一点都不统一。这样做,会对项目增添一些额外的工作量,同时会衍生出一些问题出来。比方,在写后台代码时,需要对时间做出处置,以顺应数据库的时间格局;在停止夺标结合查询时,时间格局不统一,又会对sql语句停止时间格局转换,造成sql语句臃肿的状况。所以,在统一个项目中,时间格局应当保持统一。个人觉得long 类型的时间戳,乃至String类型的yyyy-MM-dd HH:mm:ss 这两种方式时比力不错的。
long类型的时间戳,是由于后台java代码将date类型的时间转化为时间戳很容易。
String类型时由于,我们假设经常使用时间这个字段,在利用时不需要额外将Date类型转化为String类型,使用起来比力直不雅,利便。
2.常用时间语句
SELECT CURDATE():2020-10-7 //此时日期 SELECT NOW() : 2020-10-7 22:20:21 //此刻时间 SELECT YEAR('2020-10-7 22:27:45'): 2020 //猎取时间的年份 SELECT MONTH('2020-10-7 22:27:45'): 10 //猎取时间的月份 SELECT DAY('2020-10-7 22:27:45'):25 //猎取时间的天数 SELECT HOUR('2020-10-7 22:27:45'):22 //猎取时间的小时 SELECT MINUTE('2020-10-7 22:27:45'):27 //猎取时间的分钟 SELECT SECOND('2020-10-7 22:27:45'):45 //猎取时间的秒数
SELECT DATE_SUB(NOW(),INTERVAL 1 YEAR) //在当前的时间减去一年,该语句可以停止多种操纵,指按时间下减去x年:DATE_SUB("2017-12-25",INTERVAL x YEAR),同时可以减去 x month/day/hour/minute/second等 SELECT DATE_ADD(NOW(),INTERVAL 1 YEAR) //同上,在当前的时间上加上一年 SELECT CONCAT('2017','-12-12'):2017-12-12 //组装字符串,可以组装成任何时间格局,也可以使用如上语句,例如:SELECT CONCAT(YEAR(NOW()),'-12-12') :2017-12-12 ; SELECT UNIX_TIMESTAMP('2017-12-25'):1514131200 //字符串转换成时间戳 SELECT FROM_UNIXTIME(1514131200) :2017-12-25 00:00:00 //时间戳转化为时间 SELECT DATE_FORMAT('2017-12-25 22:23:01', '%Y-%m-%d %H:%i:%s'); //字符串转化为时间格局(date),也可以时间格局转化为字符串格局
以上就是在mysql中比力常用的一些时间相关的语句。
引荐教程:mysql视频教程
以上就是mysql可以做日期处置吗的具体内容,更多请关注百分百源码网其它相关文章!