alter table Salary
add CONSTRAINT check__salary CHECK
( CASE WHEN sex = '2' THEN CASE WHEN salary > 1000 THEN 1 ELSE 0 END
ELSE 1 END =1 )_**_**
為什麼上面語句最後結束的時候(end 後面)要加上 “=1”,否則會提示下面的錯誤信息:
An expression of non-boolean type specified in a context where a condition is expected
(CASE WHEN sex = '2' THEN CASE WHEN salary > 1000 THEN 1 ELSE 0 END
ELSE 1 END)=1,樓主這樣理解是不是比較好呢?
=1是說明你前面的檢驗條件會返回一個值,要麼成立返回1,要麼不成立返回0,然後根據返回值與想要的結果進行比較,=1是你想要的結果,及滿足性別女薪水大於10000的條件。