如果在比较两个日期时更改年份,如何设置标志变量

时间:2014-06-10 11:11:02

标签: sql-server-2008

假设例如我的开始日期为31-12-2013&结束日期6-01-2014。我想在sql server数据库表中设置一个flag = 1,如果开始日期是在前一年&结束日期是在明年。怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用计算列来完成此操作。 例如,我创建了一个包含以下脚本的表:

create table tblcomputedsample
    (start_date datetime,
    end_date datetime,
    Flag As (case when year(end_date) - year(start_date) = 1 then 1 else 0 end)
    )

注意列Flag,它将根据start_date和end_date字段中的值自动获取值。

插入一些值并检查数据。

我插入了一些示例数据:

insert into tblcomputedsample
    values('1-Mar-2014','10-Nov-2014'),('1-Mar-2013','10-Nov-2014'),
              ('1-Mar-2014','10-Nov-2015'),('10-May-2014','20-Dec-2014')

然后检查Flag的值。