如何从具有条件的表中选择数据?

时间:2018-04-10 09:06:00

标签: sql oracle

我有一张表,如下所示,

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

3 个答案:

答案 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