我有一个小问题正在尝试解决。我正在 VB6 中开发一个函数,使用 SQL SERVER 2008 进行存储。这是我的问题......
我在 tblClientInformation 中输入客户端数据、ClientID、ClientTask、TaskID、FromDate、ToDate。
假设我输入了这样的客户数据:
ClientID ClientTask TaskID FromDate ToDate
177 Acct 21 7/28/2016 8/3/2016
179 Acct 21 7/28/2016 8/4/2016
这就是我的问题 - 我只有 2 个空位用于此 TaskID。因此,在输入这些记录中的任何一项之前,我会像这样检查计数...
Select ClientID from tblClientInformation where taskID=21 and FromDate>='7/28/2016'
在这种情况下,我得到的计数为 2。但是,当我有人尝试在 2016 年 7 月 29 日添加另一条记录时,我的问题出现了(我的起始日期始终是今天),所以在这种情况下,系统会这样做这....
Select clientId from tblClientinformation where taskID=21 and FromDate>='7/29/2016'
但现在显示为没有记录,因为 SQL SERVER 中的 FROMDATES 都是在 7/29/2016 之前(从我的表数据中可以看出)。但我想确保当我输入 FROMdate = 7/29/2016 的客户端时,FromDate 和 ToDate 之间没有 ClientID。因此,基本上,如果我今天尝试在 2016 年 7 月 29 日添加客户端 - 它应该显示 2 个客户端 ID,因为 2016 年 7 月 29 日位于 FromDate 和 ToDate 之间。
最佳答案
您可以使用此查询来显示输入的 Date
介于 FromDate
和 ToDate
(字面上)之间的所有记录:
DECLARE @DateToCheck date = '8/4/2016'
SELECT FieldsYouNeed
FROM tblClientinformation
WHERE taskID=21 and @DateToCheck between FromDate and ToDate
关于sql-server - SQL SERVER 2008 Select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38659792/