mysql中怎么查询一周内,三个月内,半年内的数据?

mysql中怎么查询一周内,三个月内,半年内的数据?,第1张

mysql中怎么查询一周内,三个月内使用sql语句查询日期在一周内的数据select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数据select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查询当天的所有数据 SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天 SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 // 上一月--查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from info where DateDiff(hh,datetime,getDate())<=24 --info为表名,datetime为数据库中的字段值--查询当天:select * from info where DateDiff(dd,datetime,getdate())=0--查询24小时内的:select * from info where DateDiff(hh,datetime,getDate())<=24--info为表名,datetime为数据库中的字段值Sql代码--查询当天记录另类的方法 SELECT * FROM j_GradeShop WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC--查询当天记录另类的方法SELECT *FROM j_GradeShopWHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)ORDER BY GAddTime DESCDATEDIFF 函数:语法:DATEDIFF ( datepart , startdate , enddate )备注:enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。跨分钟、秒和毫秒等边界计算的方法使得 DATEDIFF 指定的结果在所有数据类型中均一致。结果是带正负号的整数值,它等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。可以再MSSQL中测试:Sql代码--两个时间差刚好是24 --打印的方式 print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0') --查询的方式 print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')--两个时间差刚好是24--打印的方式print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')--查询的方式print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')Sql代码--本月记录 SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

-- by sleest 2018/01/19 以周一作为一周开始

-- 假设条件日期为2018-01-19, 以下列举取上周始末和周几

select date_add(20180119, interval -7 - weekday(20180119) day) as last_week_start,

       date_add(20180119, interval -1 - weekday(20180119) day) as last_week_end,

       date_add(20180119, interval -8 - weekday(20180119) + 1 day) as last_week_monday,

       date_add(20180119, interval -8 - weekday(20180119) + 2 day) as last_week_tuesday,

       -- ...

       date_add(20180119, interval -8 - weekday(20180119) + 7 day) as last_week_sunday

-- 取上周所有, 如果creationDate时间部分为00:00:00.0 可以直接小于等于上述last_week_end

select 1

  from student

 where creationDate >= date_add(20180119, interval -7 - weekday(20180119) day)

   and creationDate < date_add(20180119, interval - weekday(20180119) day)

-- 取上周二, 如果creationDate时间部分为00:00:00.0 可以直接用一个等于条件

select 1

  from student

 where creationDate >= date_add(20180119, interval -8 - weekday(20180119) + 2 day)

   and creationDate < date_add(20180119, interval -8 - weekday(20180119) + 3 day)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8604014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存