如题,想获取到某个时间范围内,每天某个小时的数据需要用到datepart函数
SELECT SUM ( total6_v ) AS total6_v,SUM ( total7_v ) AS total7_v,SUM ( tx_v ) AS tx_v,EQID
,CONVERT( VARCHAR ( 100 ), DATEADD( hh,- 1, eqtime ), 23 ) as eqtime
FROM (select * from value_meter_instant_202103) i WHERE [EQTime] BETWEEN '2021-03-09 00:00:01' AND '2021-03-12 00:00:00'
AND datepart(hh,EQTime) >= 3
AND datepart(hh,EQTime) <= 23
GROUP BY CONVERT( VARCHAR ( 100 ), DATEADD( hh,- 1, eqtime ), 23 )
,EQID
/* datepart()函数的使用
* datepart()函数可以方便的取到时期中的各个部分
*如日期:2006-07--02 18:15:36.513
* yy:取年 2006
* mm:取月 7
* dd:取月中的天 2
* dy:取年中的天 183
* wk:取年中的周 27
* dw:取周中的天 1
* qq:取年中的季度 3
* hh:取小时 18
* mi:取分钟 15
* ss:取秒 36
* 以下简单的语句可以演示所取到的结果
*/
select getdate()
select datepart(mm,getdate())
select datepart(yy,getDate())
select datepart(dd,getdate())
select datepart(dy,getdate())
select datepart(wk,getdate())
select datepart(dw,getdate())
select datepart(qq,getdate())
select datepart(hh,getdate())
select datepart(mi,getdate())
select datepart(ss,getdate())
select datediff(dd,getdate(),'12/25/2006') --计算从今天到12/25/2006还有多少天
select datediff(mm,getdate(),'12/25/2006') --计算从今天到12/25/2006还有多少个月
select datename(mm,getdate()) --以字符串而不是数字的形式得到今天的月份(07)
select dateadd(dd,30,getdate()) --在目前的日期日期上加30天
select dateadd(mm,3,getdate()) --在目前的日期日期上加3个月
select dateadd(yy,1,getdate()) --在目前的日期日期上加1年
评论 (0)