在SELECT查询结果中获取第一个值为NULL

时间:2014-08-25 09:34:55

标签: sql oracle

我有一个问题:

Select Col1 from tbl1 where Col2= 'abc'; 

结果将是:

Col1
-----
David  
Harman  
Joe 

我想在结果集中添加NULL,而且我的Col1中没有任何条目为NULL。所以结果应该是:

Col1  
-----
NULL  
David  
Harman  
Joe  

5 个答案:

答案 0 :(得分:3)

您可以使用union。

Select Col1 from tbl1 where Col2= 'abc' Union select null as Col1 from dual; 

答案 1 :(得分:2)

试试这个

SELECT NULL AS Col1 
UNION ALL
Select Col1 FROM tbl1 WHERE Col2= 'abc'; 

答案 2 :(得分:1)

php中尝试此操作 您只需从数据库中检索并按以下格式显示

foreach($row as $k=>$v) {
    if($v->name=='')
          echo "NULL";
     else
          echo $v->name
}

答案 3 :(得分:0)

您可以像这样使用Case语句:

Select distinct (Case when col2='abc' then col_1 else null end)Col_1
from 
Your_table

答案 4 :(得分:0)

除非您指定排序顺序,否则您无法保证排序顺序。如果你想先得到一个null(并保证这个结果),你可以这样做:

select * from (
    select 'x' as col1 from dual
    union all
    select null as col1 from dual
)
order by col1 nulls first