Sql 两个数据之间的情况
嗨,我必须在这种情况下定义一个约束Sql 两个数据之间的情况,sql,constraints,case,between,Sql,Constraints,Case,Between,嗨,我必须在这种情况下定义一个约束 [driver_surcharge_to] [tinyint] NULL CONSTRAINT CK_Vehicle_driverSurchargeTo CHECK ( 1 = case driver_surcharge_from when null case driver_age_to when null then 1 else 0
[driver_surcharge_to] [tinyint] NULL CONSTRAINT CK_Vehicle_driverSurchargeTo CHECK (
1 = case driver_surcharge_from
when null
case driver_age_to
when null then 1
else 0 end
else
case driver_age_to
when null then 0
when (driver_age_to) between 16 and 99 then 1
else 0 end
end),
我已经试着将相同的名称字段放在一起,不管有没有它,我都不会工作。(括号)
我如何声明一个案例来验证两个数字之间的值
谢谢。您想使用案例的“条件”形式
:
[driver_surcharge_to] [tinyint] NULL CONSTRAINT CK_Vehicle_driverSurchargeTo CHECK (
1 = case driver_surcharge_from
when null
case driver_age_to
when null then 1
else 0 end
else
case when driver_age_to is null then 0
when driver_age_to between 16 and 99 then 1
else 0 end
end),
不过,我认为以下逻辑要简单一些:
[driver_surcharge_to] [tinyint] NULL CONSTRAINT CK_Vehicle_driverSurchargeTo CHECK (
(driver_surcharge_from is null and driver_age_to is null) or
(driver_surcharge_from is not null and driver_age_to between 16 and 99 )
)