case语句在select中的用法,以及,insert和select和case合用的例子

来源:互联网 发布:如何做好一个美工 编辑:程序博客网 时间:2024/04/27 19:56

 

 

 

SQL> select tag_name,tp_name,value from ins_dynamic;
TAG_NAME     TP_NAME     VALUE
---------------- --------------- --------------
a                    NoString       1
b                    NoString       2

 

 

 

 

 

SQL> select (case when value='1' then 'value=1' when value='2' then 'value=2' else 'other value' end) tag_name1 from ins_dynamic;

 

 

TAG_NAME1

--------------------

value=1

value=2

 

 

 

 

SQL> insert into ins_dynamic(tag_name,tp_name) select 'zzzz.'||tag_name,(case when value='1' then 'value=1' when value='2' then 'value=2' else 'other value' end) from ins_dynamic;

 

已创建2行。

SQL> select tag_name,tp_name,value from ins_dynamic;
TAG_NAME     TP_NAME     VALUE
---------------- --------------- --------------
a                    NoString       1
b                    NoString       2
zzz.a              value=1        NoString
zzz.b              value=2        NoString
最后写一个生猛的
DELETE FROM dict_column_info;
INSERT INTO dict_column_info(table_name,column_name,data_type,data_length,is_nullable,is_key) 
SELECT t1.table_name,t1.column_name,
(case when t1.data_type='VARCHAR2' then 1 
      when t1.data_type='DATE' then 2 
      when t1.data_type='NUMBER' AND t1.data_precision=22 AND t1.data_scale=6 then 3 
      when t1.data_type='NUMBER' AND t1.data_precision=10 AND t1.data_scale=0 then 4 
      else 0 end),
(case when t1.data_type='VARCHAR2' then t1.data_length 
      when t1.data_type='DATE' then 4 
      when t1.data_type='NUMBER' AND t1.data_precision=22 AND t1.data_scale=6 then 4 
      when t1.data_type='NUMBER' AND t1.data_precision=10 AND t1.data_scale=0 then 4 
      else 0 end),
(case when t1.nullable='Y' then 1 
      when t1.nullable='N' then 0 
      else -1 end), 
(case when (t1.table_name,t1.column_name) IN (SELECT t2.table_name,t2.column_name FROM all_cons_columns t2 where t2.owner = 'ISCS' AND t2.constraint_name IN (SELECT t3.constraint_name FROM all_constraints t3 where t3.owner = 'ISCS' AND t3.constraint_type = 'P')) then 1
      else 0 end)
from user_tab_columns t1;

 

原创粉丝点击