CASEの後に列名を入力した場合 、WHEN column = valueは使用しないでください 、WHEN valueを使用するだけです 、列をWHENの各値と自動的に比較するため 条項。
CASE type
WHEN 1 THEN 'General day'
ELSE 'Special date'
END AS type_changed,
CASE week_day
WHEN -1 THEN 'notset'
WHEN 1 THEN 'monday'
WHEN 2 THEN 'tuesday'
WHEN 3 THEN 'wednesday'
WHEN 4 THEN 'thursday'
WHEN 5 THEN 'friday'
WHEN 6 THEN 'saturday'
WHEN 7 THEN 'sunday'
END AS week_day_mod ,
両方を行う場合は、week_day = (week_day = -1)をテストしています。 、week_day = (week_day = 1) 、など。1 = (1 = 1)であるため、月曜日に機能します。 1 = 1と同等です 、これは本当です。しかし火曜日は2 = (2 = 2) 、これは2 = 1と同等です 、これは誤りです。