您正在使用IPV4(44.192.247.184)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头       悟空收录网      

【腾讯云】云服务器等爆品抢先购,低至4.2元/月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2023年 元宵节 4
2023年 情人节 13
2024年 元 旦 334
2024年 春 节 374
 
您现在的位置:首页 >> 数据库 >> 内容
本类新增
本类热门文章
MySql日期查询数据的实现
内容摘要: 日期函数解析date_format()格式化日期格式,“date_format(时间戳,时间格式)”date_sub()从日期减去指定的时间间隔;函数形式DATE_SUB(date,INTERVALexprtype),date参数是合法的日期表达式。expr参数是您希望添加的时间间隔,时间间隔参数非常全面,常用的为年月日时分秒;//减天数date_sub(时......
日期函数解析

date_format()

格式化日期格式,“date_format(时间戳,时间格式)”

date_sub()

从日期减去指定的时间间隔;函数形式DATE_SUB(date,INTERVALexprtype),date参数是合法的日期表达式。expr参数是您希望添加的时间间隔,时间间隔参数非常全面,常用的为年月日时分秒;

//减天数

date_sub(时间,INTERVAL1DAY)

//减月份

date_sub(时间,INTERVAL1MONTH)

yearweek()

返回指定的日期是哪一年的哪个星期,函数形式为YEARWEEK(date[,mode]),其中date的格式一般为‘年-月-日’,mode为1代表一个星期从星期一开始;

weekday()

接受1个参数,即DATE或DATETIME值,函数形式为WEEKDAY(date);返回一个整数,范围从0到6,表示星期一到星期日,即星期一为0,星期二为1,星期日为6;

period_diff()

返回两个时间相差的月份数,注意它是前一个时间减后一个时间。

注意:period1和period2的格式应相同。

SELECTPERIOD_DIFF(201710,201703);

按天

查询某一天

根据某天的日期,查询某天的所有时间段数据

例如,2022-11-01查询2022-11-0100:00:00——2022-11-0123:59:59的数据

第一种方法(使用DATE_FORMAT)

SELECT*

FROMtest

WHEREDATE_FORMAT(created_date,'%Y-%m-%d')='2022-11-01';

第二种方法(使用betweenand)

//使用betweenand传入开始和结束时间点

//获取的都是11-01的

SELECT*

FROMtest

WHEREBETWEEN'2022-11-01'AND'2022-11-02';

第三种方法(使用to_days)

SELECT*

FROMtest

WHEREto_days(created_date)=to_days('2022-11-01');

第四种方法(使用SUBSTRING)

字符串截取

SELECT*

FROMtest

WHERESUBSTRING(created_date,1,10)='2022-11-01';

昨天

SELECT*

FROMtest

WHERETO_DAYS(NOW())-TO_DAYS(created_date)=1;

指定天数

例如,最近x天

SELECT*

FROMtest

WHEREDATE_SUB(CURDATE(),INTERVAL2DAY)<=date(created_date);

按周

当前周数据

SELECT*

FROMtest

WHEREYEARWEEK(date_format(created_date,‘%Y-%m-%d'))=YEARWEEK(now());

上周的数据

SELECT*

FROMtest

WHEREYEARWEEK(date_format(created_date,‘%Y-%m-%d'))=YEARWEEK(now())-1;

按月

本月

SELECT*

FROMtest

WHEREDATE_FORMAT(created_date,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m');

上个月

SELECT*

FROMtest

WHEREPERIOD_DIFF(date_format(now(),'%Y%m'),date_format(时间字段名,'%Y%m'))=1;

距离当前现在x个月

//例如6个月

SELECT*

FROMtest

WHEREsubmittimeBETWEENDATE_SUB(NOW(),interval6month)ANDNOW();

按季度

本季度数据

SELECT*

FROMtest

WHEREQUARTER(created_date)=QUARTER(NOW());

查询上季度数据

SELECT*

FROMtest

WHEREQUARTER(created_date)=QUARTER(DATE_SUB(NOW(),interval1QUARTER));

按年

本年数据

SELECT*

FROMtest

WHEREYEAR(created_date)=YEAR(NOW());

上年数据

SELECT*

FROMtest

WHEREYEAR(created_date)=YEAR(DATE_SUB(NOW(),interval1year));

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:Deepin UOS编译安装Redis的 下一篇:mysql 查看表大小的方法实践
发布日期:2023/1/7
手机扫二维码直达本页
发布时间:11:26:11
点  击:30
录  入:壹家怡园
相关文章
Baidu

YiJiaCMS 6.3.5.220928(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2023