Sql select中的条件语句

Sql select中的条件语句,sql,oracle,Sql,Oracle,这是我想做的 Select X, Y, if Z IS NULL THEN ( select something ) else Z 基本上,我想选择“Z”,如果它为空,我想选择另一个值,有人能推荐一个带有案例的代码示例,或者我可以遵循的东西吗?你想合并() 选择X,Y, 合并(z,)为z 如果Z在ORACLE Select X, Y, ISNULL(Z, showThis) as Z 如果SQL-SERVER中的Z为空,将返回showThis,请按大小写选择: select X, Y

这是我想做的

Select X, Y, if Z IS NULL THEN ( select something ) else Z
基本上,我想选择“Z”,如果它为空,我想选择另一个值,有人能推荐一个带有案例的代码示例,或者我可以遵循的东西吗?

你想
合并()

选择X,Y,
合并(z,)为z
如果
Z
ORACLE

Select X, Y, ISNULL(Z, showThis) as Z
如果SQL-SERVER中的
Z
为空,将返回
showThis

请按大小写选择:

select 
  X, Y, 
  case 
    when Z is null then (select something)
    else (select something else)
  end as col
from tablename

基本上,如果用户没有手动选择Z,我必须根据特定的标准选择它,所以我合并不是这样here@Aziz-你的问题很不清楚。如果您提供一些详细信息,可能包括示例数据(和用户输入)以及从该示例派生的所需输出,则更有可能及时得到答案。@APC i无法提供代码,因为它是机密的,而且查询非常大,我所要求的只是一个子查询,所以我只是简化了,以达到我想要做的目的,但是谢谢你,伙计,另一个有NVL帮助的解决方案,它与coalesce相同。如果z为null,你想从同一个表中为它设置不同的值,还是想一起查询一个完全不同的表?
Select X, Y, ISNULL(Z, showThis) as Z
select 
  X, Y, 
  case 
    when Z is null then (select something)
    else (select something else)
  end as col
from tablename