如何在特定日期获取特定时间SQL查询
我期待的操作类似于Simple DateTime sql query,但有所不同:我想指定今日(7.00 am)的时间。如何在特定日期获取特定时间SQL查询
我要计算当时符合条件的记录数:
SELECT COUNT(SEQNO)
FROM TABLE
WHERE [CRITERIA]
and [datetimecolumn] between (datetime=[today's date]at 7.00am)
and (datetime=[today's date]at 10.00am)
我可以单独约会做到这一点,但时间有点有我困惑。
试试这个
Declare @i date=getdate()
Declare @j varchar(10)='07:00'
Declare @k varchar(10)= '10:00:00'
select COALESCE(COUNT(DISTINCT SOH.SEQNO),0) from dbo.SALESORD_HDR SOH
inner join SALESORDHIST SOHIS on SOH.SEQNO = SOHIS.HEADER_SOURCE_SEQ
where SOHIS.HISTDATETIME between (DATEADD(day, DATEDIFF(day, 0, @i), @j)
and DATEADD(day, DATEDIFF(day, 0, @i), @k))
and SOHIS.EVENT_TYPE = 'I'
Hmmm.Entire查询:'选择COALESCE(COUNT(DISTINCT SOH.SEQNO),0) 从dbo.SALESORD_HDR SOH内部联接SALESORDHIST SOHIS上SOH.SEQNO = SOHIS.HEADER_SOURCE_SEQ 其中之间SOHIS.HISTDATETIME(声明@i日期= getdate()声明@j varchar(10)='07:00'选择DATEADD(day,DATEDIFF(day,0,@i),@j))和(datetime = date(“Y/m/d”)。 '10:00:00') 和SOHIS.EVENT_TYPE ='I'',它在声明附近返回错误。 – Bevan
我重新安排了这一点,它工作正常。感谢大家! @Eric T:我的系统不喜欢'curdate'或'concat'--尽管我明白你的建议。原来这个'Declare'技巧是关键。 – Bevan
太棒了,很高兴你找到了方法:) –
不知道这是否会帮助你,因为我假设早上7点和上午10点将保持不变。
============================================
之间语法应该是这样的
mysql> SELECT * FROM employee_tbl
-> WHERE daily_typing_pages BETWEEN 170 AND 300;
所以,你的代码应该是:(请提供该datetimecolumn括号)
and ([datetimecolumn] between CONCAT(CURDATE(), " 07:00:00")
and CONCAT(CURDATE() , " 10:00:00")
答案取决于你的数据库引擎,你没有指定的东西。 –
对不起,SQL2008 R2,通过HTML查询使用webmatrix – Bevan