问题描述
- SQL:在check约束中使用Case函数
- 公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示:
CONSTRAINT check__salary CHECK
( CASE WHEN sex = '2'
THEN CASE WHEN salary > 1000
THEN 1 ELSE 0 END
ELSE 1 END = 1 _)我想问下上面语句中的Then 1 Else 1,就表示是符合约定,而0则表示不符合约束,为什么呢?
解决方案
这个规则你自己定啊,你用-1、-1000都可以。但是人们一般会有一个约定,0和1用得最多。
解决方案二:
这个不用那么纠结吧,只是通常的一种用法罢了。
时间: 2024-10-01 00:47:57