【发布时间】:2018-09-05 07:30:08
【问题描述】:
我有以下SP:
IF EXISTS (SELECT * FROM [dbo].[Assignments]
WHERE ProjectId=@ProjectUID AND TaskId=@TaskUID AND ResourceId=@ResourceUID
AND (StartDate <= @DATE AND FinishDate >= @DATE)
)
BEGIN
Return 1
END
ELSE
BEGIN
Return 2
END
当我使用一些参数执行它时,它返回我 2(我已将此参数作为我的日期 @Date = '2018-11-02')所以我决定尝试在 select 语句中,并且 select 语句返回我一行,如果我把我的与 cmets 中的开始和结束日期一致,我的 SP 有效
所以我知道我的麻烦来自日期
但我不明白为什么
PS:我已经尝试过了,但结果是一样的
【问题讨论】:
-
您使用的是哪个 dbms? (该代码是特定于产品的。)
-
您能否提供一些表格中的示例数据?并期待结果谢谢
-
需要将 startdate 和 enddate 转换为日期。如果@date 参数是字符串,那么也需要转换成日期
标签: sql-server tsql between