最短日期时间和最长日期时间

use*_*502 -1 sql t-sql sql-server-2008

我收到一个参数作为日期,这个日期的格式是04/24/2012,所以在sql我需要能够做类似的事情

SELECT * 
FROM MYTABLE 
WHERE OrderDate BETWEEN (04/24/2012 at 12 am (StartDate)) 
    AND (04/24/2012 at 11:59 pm (EndDate))
Run Code Online (Sandbox Code Playgroud)

我有两个参数StartDate和EndDate

@StartDate nvarchar(50),
@EndDate nvarchar(50),
Run Code Online (Sandbox Code Playgroud)

有时StartDate和EndDate不是同一个日期,所以可能是2012年4月24日 - 2012年4月27日,这工作正常...问题是当他们在同一天做.

Cha*_*leh 6

尝试使用结束日期,但这样做

orderdate >= @startdate and orderdate < Dateadd(d, 1, @enddate)
Run Code Online (Sandbox Code Playgroud)

这种方式包括startdate和enddate之间的所有时间,如果它们在同一天.例如,大于或等于一天的开始但小于第二天的开始