繁体   English   中英

Oracle条件选择

[英]Oracle conditional select

我确定这是一件容易的事。

我将如何在列上选择条件值。

Basically if column1 ='Y' then display as "FOO" else if 'n' display "foobar"

select column1 from table1;

用一个简单的case表达式

select case column1 when 'Y' then 'FOO' else 'foorbar' end
from table1;

那假设一个简单的if / else。 您的问题指定了两个值,您可以同时检查两个值:

select case column1 when 'Y' then 'FOO' when 'n' then 'foorbar' end
from table1;

如果您有Yn以外的column1值,则将为null 即使您要测试多个显式值,您仍然可以使用else来指定else值:

select case column1 when 'Y' then 'FOO' when 'n' then 'foorbar' else 'bar' end
from table1;

Oracle中的另一种语法是解码,我喜欢这样做,因为它简洁明了,但基本上与上面建议的case语句相同:

select decode(column1,'Y','FOO','foobar') from table1;

语法如下:decode(expression,search,result [,search,result] ... [,default])。

更多示例在Oracle文档中: http : //www.techonthenet.com/oracle/functions/decode.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM