我有一张表,如下所示,
ID | dataCol
------------------
1 text1
2 text2
3 text3
我想选择上表中的所有数据,条件是如果任何行dataCol值等于' text2'它应打印为&text;'。'。
我的伪代码如下,
select ID, (
if dataCol is equal to 'text2'
then
print 'text4'
else
dataCol
) from table1;
最终出局应该是,
ID | dataCol
------------------
1 text1
2 text4
3 text3
答案 0 :(得分:2)
SELECT ID,
CASE datacol
WHEN 'text2'
THEN 'text4'
ELSE datacol
END
FROM table1
或
SELECT ID,
DECODE(
datacol, -- input value
'text2', -- first match
'text4', -- output if matches first match
datacol -- default output
)
FROM table1
答案 1 :(得分:1)
Select Id, case when dataCol='text2' then cast('text4' as nvarchar2(200))
else cast(dataCol as nvarchar2(200)) end dcol
from yourTable t
答案 2 :(得分:-2)
试试这个
select ID, IF(dataCol = 'text2','text4',dataCol) as dataCol from table1