SELECT * FROM OrderInfo WHERE convert(varchar(10),OrderTime,120)>= conver(varchar(10),@TimeFrom ,120) AND convert(varchar(10),OrderTime,120)<= convert(varcha(10),@TimeTo,120)
@TimeFrom datetime, @TimeTo datetime AS SELECT * FROM OrderInfo WHERE OrderTime>=@TimeFrom AND Orderime<=@TimeTo-------注意如果OrderTime是带有时分秒,则一定要注意@TimeFrom、@TimeTo的值 如:OrderTime是'2005-12-28 10:15:00' 而 @TimeFrom='2005-12-28' @TimeTo=@TimeFrom='2005-12-28',则肯定查不到数据应该将@TimeFrom、@TimeTo去掉时分秒后,用@TimeTo+1作为上界 即: SELECT * FROM OrderInfo WHERE OrderTime>=@TimeFrom -->='2005-12-28' AND Orderime<@TimeTo --<'2005-12-29'
方法很多: SELECT * FROM OrderInfo WHERE datediff(day,@TimeFrom,OrderTime)>=0 AND datediff(day,OrderTime,@TimeTo)>=0 或者: SELECT * FROM OrderInfo WHERE OrderTime>=convert(varchar(10),@TimeFrom,120) AND OrderTime<convert(varchar(10),@TimeTo+1,120)
conver(varchar(10),@TimeFrom ,120) AND
convert(varchar(10),OrderTime,120)<=
convert(varcha(10),@TimeTo,120)
@TimeTo datetime
AS
SELECT * FROM OrderInfo
WHERE OrderTime>=@TimeFrom AND Orderime<=@TimeTo-------注意如果OrderTime是带有时分秒,则一定要注意@TimeFrom、@TimeTo的值
如:OrderTime是'2005-12-28 10:15:00'
而
@TimeFrom='2005-12-28'
@TimeTo=@TimeFrom='2005-12-28',则肯定查不到数据应该将@TimeFrom、@TimeTo去掉时分秒后,用@TimeTo+1作为上界
即:
SELECT * FROM OrderInfo
WHERE OrderTime>=@TimeFrom -->='2005-12-28'
AND Orderime<@TimeTo --<'2005-12-29'
SELECT * FROM OrderInfo
WHERE datediff(day,@TimeFrom,OrderTime)>=0
AND datediff(day,OrderTime,@TimeTo)>=0
或者:
SELECT * FROM OrderInfo
WHERE OrderTime>=convert(varchar(10),@TimeFrom,120)
AND OrderTime<convert(varchar(10),@TimeTo+1,120)