Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我们可以像在Oracle中一样将解码默认值设置为表达式值吗_Sql_Oracle_Oracle10g - Fatal编程技术网

Sql 我们可以像在Oracle中一样将解码默认值设置为表达式值吗

Sql 我们可以像在Oracle中一样将解码默认值设置为表达式值吗,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,我使用的解码功能如下: DECODE ((select country_id from XYZ), 'IT', 'Italy', 'JP', 'Japan', 'US', 'United States', country_id); 我希望它的行为方式是,如果country_id是这三个id中的一个,那么它应该解码id,否则默认值应该按原样显示country_id 这可能吗

我使用的解码功能如下:

DECODE ((select country_id from XYZ), 
                    'IT', 'Italy',
                    'JP', 'Japan', 
                    'US', 'United States', country_id);
我希望它的行为方式是,如果country_id是这三个id中的一个,那么它应该解码id,否则默认值应该按原样显示country_id

这可能吗?..

只需更改订单(
Decode
应该在
select
中):

只需更改订单(
Decode
应在
select
范围内):

select Decode(country_id, 
              'IT', 'Italy',
              'JP', 'Japan', 
              'US', 'United States', 
              country_id)
  from XYZ