ビットフィールドがtrueかfalseかに基づいて条件付きで何かを選択したい。これは私が最初に試した構文でした:
CASE WHEN isSoon THEN 'Soon' ELSE 'Not so soon' END As HowSoon
「WHEN」に続くものはブール式でなければならないので、これは私には理にかなっています。つまりisSoon
、ビットフィールドです。しかし、これはうまくいきませんでした。私が最後にやらなければならなかったことは:
CASE WHEN isSoon = 1 THEN 'Soon' ELSE 'Not so soon' END As HowSoon
これは私には冗長に思えます...それif(isSoon == True)
は、より直感的ではなくプログラミング言語で書くようなものif(isSoon)
であり、穀物に反します。SQLがこのように設定されているのはなぜですか?ビットフィールドが本当にブール値ではないからですか?