我要选择带有SQL大小写表达式的“ up_year”。
如果可以的话,
SELECT CASE WHEN column1 = '2020' then 'up_year' else 'past_year' else end ;
但是尝试这样做时:不想每年更改。
SELECT
CASE WHEN column1 = (select extract(year from sysdate) from dual)
then 'up_year'
else 'past_year' else end ;
答案 0 :(得分:3)
您只想匹配当前年份。那么一种选择是使用TO_CHAR(,'yyyy')
:
SELECT CASE
WHEN column1 = TO_CHAR(sysdate,'yyyy') then
'up_year'
ELSE
'past_year'
END AS "My Year"
FROM tab
答案 1 :(得分:2)
例如,您可以使用with子句
with y as (select extract(year from sysdate) year from dual)
SELECT CASE WHEN column1 = y.year then 'up_year' else 'past_year' end from y -- and your table
公用表表达式(CTE)是一个命名的临时结果集,它存在于单个语句的范围内,以后可以在该语句中引用
您可以使用select into变量将提取输出分成两个步骤,然后使用它