mysql查看当前日期日期时间数据(mysql查询日期汇总、常用的日期函数汇总)
MySQL是一个功能强大的关系型数据库管理系统,可以进行各式数据操作和查询。在MySQL中,日期是一个常常见到的数据类型,也是经常需要进行操作和查询的对象。下面将介绍怎样查看当前日期,并汇总一些常用的日期函数。
1、查看当前日期
要查看当前日期,应该使用MySQL中的NOW()函数。NOW()函数可以返回目前的日期和时间,包括年、月、日、小时、分钟和秒。
使用方法就是:
SELECTNOW();
执行这个查询语句后,MySQL会返回目前的日期和时间,格式如下:
YYYY-妹子-DDHH:妹子:SS
其中,YYYY预示年份,妹子预示月份,DD预示日期,HH预示小时,妹子预示分钟,SS预示秒。
2、常用的日期函数
在MySQL中,有一些常用的日期函数可以拿来处理日期和时间的查询。
(一)DATE()函数:可以从一个日期或日期时间表达式中提取日期部分。
比如:
SELECTDATE('2022-01-0112:34:56');
执行这个查询语句后,MySQL会返回日期部分:
2022-01-01
(二)YEAR()函数和MONTH()函数:分别可以从一个日期或日期时间表达式中提取年份和月份。
比如:
SELECTYEAR('2022-01-01');
执行这个查询语句后,MySQL会返回年份:
2022
SELECTMONTH('2022-01-01');
执行这个查询语句后,MySQL会返回月份:
1
(三)DATE_FORMAT()函数:用于将日期或日期时间格式化为指定的格式。
比如:
SELECTDATE_FORMAT('2022-01-01','%Y年%m月%d日');
执行这个查询语句后,MySQL会返回格式化后的日期:
2022年01月01日
(四)DATE_ADD()函数和DATE_SUB()函数:用于对日期进行加法和减法操作。
比如:
SELECTDATE_ADD('2022-01-01',INTERVAL1DAY);
执行这个查询语句后,MySQL会返回加一天后的日期:
2022-01-02
SELECTDATE_SUB('2022-01-01',INTERVAL1MONTH);
执行这个查询语句后,MySQL会返回减一月后的日期:
2021-12-01
上面便是关于MySQL查看当前日期和常用的日期函数的介绍。通过这几个函数,可以方便地进行日期和时间的操作和查询。
来源头条作者:黑皮钓鱼在许多地方都使用到了mysql的日期查询,假如不做处理,查询出来的是毫秒数,固然就java能够处理,不过毕竟是要浪费时间,所以特地想汇总一些关于日期查询相关的方式方法,供以后查询方便。第1种:在sql中使用DATE_FORMAT进行格式化,得到的结果直接即为你设置的格式SELECTDATE_FORMAT(t。create_time,'%Y-%c-%d%H:%i:%s')'date'FROMe_mail_acceptt得到的是:2018-12-0816:36:47第2种:假如是使用的ssm项目,那么可以通过在相应的pojo上面加上@JsonFormat注解解读,即可得到想要的结果/**创建时间*/@JsonFormat(locale="zh",timezone="GMT+8",pattern="yyyy-妹子-ddHH:mm:ss")@TableField(value="create_time")privateDatecreateTime;此方法需要在maven加上如下代码com。fasterxml。jackson。corejackson-databind2、9、2第3种:查询当前日期常用的sqlSELECTDATE_SUB(CURDATE(),INTERVAL0DAY);结果:2018-12-19SELECTNOW();结果:2018-12-1922:11:53SELECTCURDATE();结果:2018-12-19查询昨天:2018-12-18SELECTDATE_SUB(CURDATE(),INTERVAL1DAY);查询明天:2018-12-19SELECTDATE_SUB(CURDATE(),INTERVAL-1DAY);查询前1个钟头:2018-12-1921:19:10SELECTDATE_SUB(NOW(),INTERVAL1HOUR);查询后1个钟头:2018-12-1921:19:10SELECTDATE_SUB(NOW(),INTERVAL-1HOUR);查询前一分钟:2018-12-1922:19:08SELECTDATE_SUB(NOW(),INTERVAL1MINUTE);查询前一年:2017-12-1922:19:08SELECTDATE_SUB(NOW(),INTERVAL1YEAR);第4种:查询时间段的时刻,要明确是比较年月日还是比较到时分秒select*fromtestwheredate_format(create_time,'%Y-%m-%d')between'2018-07-30'and'2018-07-31';第5种:常用的查询今天、昨天、近日几天、一个月、一个季度等数据查询此段参考了:https://www。cnblogs。com/benefitworld/p/5832897、html今天select*from表名whereto_days(时间字段名)=to_days(now());昨天SELECT*FROM表名WHERETO_DAYS(NOW())-TO_DAYS(时间字段名)近7天SELECT*FROM表名whereDATE_SUB(CURDATE(),INTERVAL7DAY)近30天SELECT*FROM表名whereDATE_SUB(CURDATE(),INTERVAL30DAY)本月SELECT*FROM表名WHEREDATE_FORMAT(时间字段名,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')上一月SELECT*FROM表名WHEREPERIOD_DIFF(date_format(now(),'%Y%m'),date_format(时间字段名,'%Y%m'))=1查询本季度数据select*from`ht_invoice_information`whereQUARTER(create_date)=QUARTER(now());查询上季度数据select*from`ht_invoice_information`whereQUARTER(create_date)=QUARTER(DATE_SUB(now(),interval1QUARTER));查询本年数据select*from`ht_invoice_information`whereYEAR(create_date)=YEAR(NOW());查询上年数据select*from`ht_invoice_information`whereyear(create_date)=year(date_sub(now(),interval1year));查询当前这周的数据SELECTname,submittimeFROMenterpriseWHEREYEARWEEK(date_format(submittime,'%Y-%m-%d'))=YEARWEEK(now());查询上周的数据SELECTname,submittimeFROMenterpriseWHEREYEARWEEK(date_format(submittime,'%Y-%m-%d'))=YEARWEEK(now())-1;查询上个月的数据selectname,submittimefromenterprisewheredate_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(),INTERVAL1MONTH),'%Y-%m')select*fromuserwhereDATE_FORMAT(pudate,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m');select*fromuserwhereWEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d'))=WEEKOFYEAR(now())select*fromuserwhereMONTH(FROM_UNIXTIME(pudate,'%y-%m-%d'))=MONTH(now())select*fromuserwhereYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d'))=YEAR(now())andMONTH(FROM_UNIXTIME(pudate,'%y-%m-%d'))=MONTH(now())select*fromuserwherepudatebetween上月末尾一天and下月第1天查询当前月份的数据selectname,submittimefromenterprisewheredate_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')查询距离当前此刻6个月的数据selectname,submittimefromenterprisewheresubmittimebetweendate_sub(now(),interval6month)andnow();