sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月 数据
提示:以下是本篇文章正文内容,下面案例可供参考
代码如下(示例):
--当天
datediff(day, 时间字段 ,getdate()) = 0
--昨天
datediff(day, 时间字段 ,getdate()) = 1
--三天
datediff(day,时间字段,getdate())<= 2 and datediff(day,时间字段,getdate())>= 0
--一周
(DATEPART(wk, 时间字段) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, 时间字段) = DATEPART(yy, GETDATE()))
--一月
(DATEPART(yy, 时间字段) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, 时间字段) = DATEPART(mm, GETDATE()))
--一季度
DATEPART(qq, 时间字段) = DATEPART(qq, GETDATE()) and DATEPART(yy, 时间字段) = DATEPART(yy, GETDATE())
--本周
datediff(week,时间字段,getdate())=0
--上周
datediff(week,时间字段,getdate())=1
--本月
datediff(Month,时间字段,getdate())=0
--上月
datediff(Month,时间字段,getdate())=1
--今年
datediff(Year,时间字段,getdate())=0
--去年
datediff(Year,时间字段,getdate())=1
--本季度
datediff(qq,时间字段,getdate())=0
--系统当前时间
getdate() --2024-01-17 15:59:12.930
--此格式码 "120" 表示的格式为 "yyyy-MM-dd HH:mm:ss" 。它包含年、月、日、小时、分钟和秒
CONVERT(varchar, getdate(), 120 ) --2024-01-17 16:09:14
--此格式码 "112" 表示的格式为 "yyyyMMdd" 。它只包含年、月和日,没有任何分隔符
CONVERT(varchar, GETDATE(), 112) --20240117
--此格式码 "101" 表示的格式为 "MM/dd/yyyy" 。它包含月、日和年,并使用斜杠作为分隔
CONVERT(varchar, GETDATE(), 101) --01/17/2024
--此格式码 "108" 表示的格式为 "HH:mm:ss" 。它只包含小时、分钟和秒,没有日期部分
SELECT CONVERT(varchar, GETDATE(), 108) --16:17:12