您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

mysql可以做日期处理吗

2025/1/13 21:09:23发布26次查看
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可以做日期处理吗的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product