Я хочу выбрать что-то условно, исходя из того, является ли поле бит истинным или ложным. Это был синтаксис, который я изначально пытался:
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 настроен так? Это потому, что битовые поля не являются по-настоящему логическими?