Oracle Decodeº¯ÊýʹÓü¼ÇÉ
decodeº¯Êý
Óï·¨£º
decode(expr,search,result[,search,result]..[,search,result][,default])
½âÊÍ£º
±È½ÏexprÓëÿ¸ösearchµÄÖµ£¬Èç¹ûexprµÈÓÚij¸ösearch£¬Ôò·µ»ØÏàÓ¦µÄresult£»Èç¹ûûÓÐÆ¥ÅäµÄÖµ£¬Ôò·µ»ØdefaultÖµ£»Èç¹ûûÓÐÖ¸¶¨defaultÖµ£¬Ôò·µ»Ønull
×¢Ò⣺
±È½Ïǰ£¬Oracle×Ô¶¯½«exprµÄÊý¾ÝÀàÐÍת»»³ÉµÚÒ»¸ösearchµÄÀàÐÍ£»Oracle×Ô¶¯½«·µ»ØÖµµÄÀàÐÍת»»³ÉµÚÒ»¸öresultµÄÀàÐÍ£»Èç¹ûµÚÒ»¸öresultµÄÀàÐÍΪChar»ònull£¬ÔòOracle½«·µ»Ø½á¹ûת»»³ÉvVarchar2ÀàÐÍ¡£decodeº¯ÊýÖУ¬OracleÈÏΪÁ½¸önullÏàµÈ¡£
ʾÀý£º
SQL> select decode('0','0','true','1','false',null) from dual; --·µ»Øtrue
SQL> select decode('1','0','true','1','false',null) from dual; --·µ»Øfalse
SQL> select decode('2','0','true','1','false',null) from dual; --·µ»Ønull
Ó¦ÓãºÐÐÁÐת»»
±íexample1ÓÐÈý¸ö×Ö¶Î
Ãû³Æ ÊÇ·ñΪ¿Õ? ÀàÐÍ
----------------------------------------- -------- ----------------------------
SEQ NOT NULL NUMBER(3)
JCXM NUMBER(3)
ZHI NUMBER(3,2)
Êý¾Ý·Ö±ðÈçÏ£º
SEQ JCXM ZHI
---------- ---------- ----------
11 1 .5
11 2 .21
11 3 .25
12  
Ïà¹ØÎĵµ£º
oracleÖÐ×Ô¶¨ÒåÊý¾ÝÀàÐÍ
oracleÖÐÓлù±¾µÄÊý¾ÝÀàÐÍ£¬Èçnumber£¬varchar2£¬date£¬numeric£¬float....µ«ÓÐʱºòÎÒÃÇÐèÒªÌØÊâµÄ¸ñʽ£¬È罫name¶¨ÒåΪ
£¨firstname,lastname£©µÄÐÎʽ£¬ÎÒÃÇÏë°ÑÕâ¸ö×÷Ϊһ¸ö±íµÄÒ»Áп´´ý£¬Õâʱºò¾Í²»ÒªÎÒÃÇ×Ô¼º¶¨ÒåÒ»¸öÊý¾ÝÀàÐÍ
create or replace type type_name as object(firstname varchar ......
--sqlplus
sqlplus;
sys /password as sysdba;
--²éÕÒÓû§ID£¨user#£©,Êý¾Ý¿âÀïÃæ´æ·ÅµÄÓû§¶¼ÊÇ´óд!
select user#,name,password from user$ where name ='FACT';
USER# NAME   ......
ÔÚ´óÐÍµÄÆóÒµÓ¦ÓûòÆóÒµ¼¶µÄÊý¾Ý¿âÓ¦ÓÃÖУ¬Òª´¦ÀíµÄÊý¾ÝÁ¿Í¨³£¿ÉÒÔ´ïµ½¼¸Ê®µ½¼¸°ÙGB£¬ÓеÄÉõÖÁ¿ÉÒÔµ½TB¼¶¡£ËäÈ»´æ´¢½éÖʺÍÊý¾Ý´¦Àí¼¼ÊõµÄ·¢Õ¹Ò²ºÜ¿ì£¬µ«ÊÇÈÔÈ»²»ÄÜÂú×ãÓû§µÄÐèÇó£¬ÎªÁËʹÓû§µÄ´óÁ¿µÄÊý¾ÝÔÚ¶Áд²Ù×÷ºÍ²éѯÖÐËٶȸü¿ì£¬OracleÌṩÁ˶ԱíºÍË÷Òý½øÐзÖÇøµÄ¼¼Êõ£¬ÒÔ¸ÄÉÆ´óÐÍÓ¦ÓÃϵͳµÄÐÔÄÜ¡£
ʹÓ÷ÖÇøµÄÓŵ㣠......
Ò»¡¢Ç¶Ì×±íµÄ¶¨Ò壺
ǶÌ×±íÊDZíÖÐÖ®±í¡£Ò»¸öǶÌ×±íÊÇijЩÐеļ¯ºÏ£¬ËüÔÚÖ÷±íÖбíʾΪÆäÖеÄÒ»ÁС£¶ÔÖ÷±íÖеÄÿһÌõ¼Ç¼£¬Ç¶Ì×±í¿ÉÒÔ°üº¬¶à¸öÐС£ÔÚijÖÖÒâÒåÉÏ£¬ËüÊÇÔÚÒ»¸ö±íÖд洢һ¶Ô¶à¹ØÏµµÄÒ»ÖÖ·½·¨¡£¿¼²éÒ»¸ö°üº¬²¿ÃÅÐÅÏ¢µÄ±í£¬ÔÚÈκÎʱ¼äÄÚÿ¸ö²¿ÃÅ»áÓкܶàÏîÄ¿ÕýÔÚʵʩ¡£ÔÚÒ»¸öÑϸñµÄ¹ØÏµÄ£ÐÍÖУ ......
µÚÒ»²½
¶ÔÊý¾Ý¿âÕûÌå×öÁËÒ»¸öÁ˽â
$ORACLE_HOME/bin/sqlplus "sys/sys061201 as sysdba" << EOF
spool peiyz_healthcheck_info.txt
set linesize 200
set pagesize 1000
set time on
set timing on
col owner for a10
col segment_name for a30
col index_name for a30
col table_name for a ......