我有一张桌子。 当indicator = 0然后date = null
时我需要我尝试过一个案例陈述但收到错误。任何帮助将不胜感激。
Select
Case when a.indicator = 0
Then a.date = 0
Else a.date
End Date
From TableA a
表A
Id Date Indicator
1 1/1/17 0
答案 0 :(得分:0)
select
decode(a.indicator, 0, null, a.date) date
from
tableA
答案 1 :(得分:0)
使用此选择:
SELECT
CASE
WHEN A.INDICATOR = 0 THEN
NULL
ELSE A.DATE
END DATE
FROM TABLEA A
答案 2 :(得分:0)
你想要的是:
SELECT CASE WHEN a.indicator = 0 THEN NULL ELSE a.date END AS 'Date' FROM TableA AS a
a.date = 0
(或date = null
)错误的原因是您没有为a.date
分配新值,而是说明应该返回什么值(null
)来自case表达式,当它成立时。
答案 3 :(得分:0)
您可以使用:
Select "Id",
Case
when "Indicator" <> 0
Then "Date" End AS Date1,
"Indicator"
From TableA;
请注意我已经改变了你的逻辑并跳过了else null
,因为如果不使用它,无论如何都是默认的。
有关案例的更多信息:http://modern-sql.com/feature/case
答案 4 :(得分:0)
Select
Case a.indicator when 0
Then null
Else a.date
End
From TableA a