我需要帮助纠正以下存储过程。我只想输入07-14-2014
日期,而不必输入整个datetime
字符串,仍然可以从07-14-2014
获取所有数据。
目前我必须输入2014-07-14 00:00:00.000
。
ALTER PROCEDURE [dbo].[spWWGetScrap]
@Start_Date datetime = NULL
,@End_Date datetime = NULL
AS
-- Get the latest dataset.
SELECT
Casting_Part_Number, Scrap_Code,
Casting_Code, Pattern, Quantity
FROM
CleaningRoom_Scrap
WHERE
DateStamp BETWEEN @Start_Date AND @End_Date
答案 0 :(得分:1)
要在日期期间包含所有活动,您需要在00:00:00.000开始日期开始,并在第二天00:00:00.000结束日期之前结束。这可以轻松地将1天添加到结束日期。
ALTER PROCEDURE [dbo].[spWWGetScrap]
@Start_Date datetime = NULL
,@End_Date datetime = NULL
AS
-- Get the latest dataset.
SELECT
Casting_Part_Number, Scrap_Code,
Casting_Code, Pattern, Quantity
FROM
CleaningRoom_Scrap
WHERE
(DateStamp >= @Start_Date) AND (DateStamp < dateadd(d,1,@End_Date))
请注意,我不包括=
。这仅在您在结束日期省略时间部分时才有效。