我希望做类似于Simple DateTime sql query的事情,但有所不同:我想在今天的日期指定时间(早上7点)。
我想计算当时符合条件的记录数量:
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)
我可以单独使用日期,但时间让我感到困惑。
答案 0 :(得分:1)
不确定这是否会对您有所帮助,因为我认为早上7点和上午10点会保持原样。
============================================
BETWEEN 语法应该是这样的
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" )
答案 1 :(得分:1)
试试这个
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'