【发布时间】:2013-10-15 06:49:55
【问题描述】:
有时我的查询有很长的 case when 语句。例如,
CASE WHEN BASE_YM = TO_CHAR(DEFAULT_YM, 'YYYYMM') THEN '00'
WHEN BASE_YM = TO_CHAR(DEFAULT_YM - 1 MONTHS, 'YYYYMM') THEN '01'
WHEN BASE_YM = TO_CHAR(DEFAULT_YM - 2 MONTHS, 'YYYYMM') THEN '02'
.
.
.
WHEN BASE_YM = TO_CHAR(DEFAULT_YM - 35 MONTHS, 'YYYYMM') THEN '35'
WHEN BASE_YM = TO_CHAR(DEFAULT_YM - 36 MONTHS, 'YYYYMM') THEN '36'
这种 case when 语句本身占用 37 行,我想知道是否有办法通过使用 i=00, ..., 36 之类的方式来缩短 case when 语句?
【问题讨论】:
-
BASE_YM和DEFAULT_YM的数据类型是什么?