日期:2014-05-18  浏览次数:20640 次

关于datetime数据类型的check约束问题
create   table   a
(
    startTime   datetime   default(getDate()),
    endTime   datetime   check(*******************?)
)

问题:星号处,该列时间值要晚于startTime的约束语句怎么写?


------解决方案--------------------
要建立表级约束,不是列级的,
create table a
(
startTime datetime default(getDate()),
endTime datetime ,
check(datediff(s,startTime,endTime) <0)
)
有个问题,如果两个时间相差太大就会有溢出错误,可以先进行年份的比较,然后再就进行秒的比较,一般情况下,毫秒不需要的吧