【发布时间】:2011-08-16 01:39:31
【问题描述】:
这是我的查询:
DECLARE @MM INT -- Current month
DECLARE @DD INT -- Current date
SET @MM = 1 -- For testing, set it to January
SET @DD = 1 -- For testing, set it to 01
SELECT xxxID, xxxFK, StartMonth, StartDate, StopMonth, StopDate, NULL AS OKorNOT
FROM xxxTable
ORDER BY xxxFK
这是数据:
xxxID xxxFK StartMonth StartDate StopMonth StopDate OKorNOT
---------------- ----------- ----------- ----------- ----------- ----------- -----------
8 2287 11 15 1 2 NULL
4 2290 2 1 2 21 NULL
2 2306 9 15 10 31 NULL
3 2306 1 3 1 20 NULL
9 2661 11 15 1 3 NULL
10 2661 5 5 5 31 NULL
5 3778 6 2 9 5 NULL
6 3778 1 1 3 31 NULL
7 3778 5 10 5 31 NULL
1 3778 12 10 12 31 NULL
我需要用 1/0 填充 OKorNot 列,具体取决于给定的月份日期是否介于 StartMonth-StartDate 和 StopMonth-StopDate 之间。顺便说一下,这是 SQL Server 2000。
编辑
这里要注意的是,数据中没有存储年份,月份日期可能从 11 月 15 日开始,到 1 月 15 日结束,所以在 12 月 31 日和 1 月 1 日这种情况下应该返回真。
【问题讨论】:
标签: sql sql-server tsql datetime sql-server-2000