我有一个表格,其列为“dateRec
”,格式为datetime,而Select程序则从此表中获取数据。
该过程有两个输入参数rangeStart
和rangeEnd
,它们可以格式化为datetime或nvarchar(这里无论什么都有意义)。
我怎样才能实现我只选择dateRec介于rangeStart和rangeEnd之间的记录?
我的程序(缩短版) - 只是为了证明我在寻找什么:
ALTER PROCEDURE [dbo].[FetchRequests]
@rangeStart datetime,
@rangeEnd datetime
AS
BEGIN
SET NOCOUNT ON;
SELECT logID,
flag,
reviewer,
dateRec
FROM LogRequests
WHERE dateRec >= rangeStart
AND dateRec <= rangeEnd
FOR XML PATH('requests'), ELEMENTS, TYPE, ROOT('ranks')
END
非常感谢Mike的任何帮助。
答案 0 :(得分:3)
您可以使用关键字BETWEEN:
ALTER PROCEDURE [dbo].[FetchRequests]
@rangeStart datetime,
@rangeEnd datetime
AS
BEGIN
SET NOCOUNT ON;
SELECT logID,
flag,
reviewer,
dateRec
FROM LogRequests
WHERE dateRec BETWEEN @rangeStart AND @rangeEnd
FOR XML PATH('requests'), ELEMENTS, TYPE, ROOT('ranks')
END