で使用される式の別名を与えるために、任意の方法、 私は、クエリ以下の持っているCASE文
SELECT CASE
WHEN floor(months_between(CAL_DATE, BIRTH_DATE)/12) BETWEEN 0
AND 20
THEN '1'
WHEN floor(months_between(CAL_DATE, BIRTH_DATE)/12) BETWEEN 21
AND 30
THEN '2'
WHEN floor(months_between(CAL_DATE, BIRTH_DATE)/12) BETWEEN 31
AND 40
THEN '3'
WHEN floor(months_between(CAL_DATE, BIRTH_DATE)/12) BETWEEN 41
AND 50
THEN '4'
ELSE '5'
END) Age_Band
FROM dual
式
floor(months_between(CAL_DATE, BIRTH_DATE)/12)
にエイリアスを与え、以下のようにcase文でそれを使用する方法はあります。
CASE floor(months_between(CAL_DATE, BIRTH_DATE)/12) **age**
WHEN **age** BETWEEN 0 AND 20 THEN '1'
おそらくありません。 1つは、その数式は結果0を生成しません。これは、「年齢」が0〜20の場合に望ましいものです。別の場合、帯域幅は均等ではなく、最初のバンドは20年、残りは10年です。 – mathguy
ああ、そうです。アプローチはうまくいくかもしれませんが、表現はかなり複雑になります。 –