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  
Ïà¹ØÎĵµ£º
Êý¾ÝÀàÐÍʹÓÃ
1.ÉùÃ÷£º
a.¸ñʽ£ºVariable_name [constant] databyte [not null] [:=default expression]
b.±äÁ¿Óë³£Á¿ÉùÃ÷»ù±¾Ò»Ö£¬Ê¹ÓÃconstantÉùÃ÷µÄΪ³£Á¿£¬²»Ê¹ÓÃΪ±äÁ¿£¬²¢ÇÒ¸³ÖµÖ»ÄÜÔÚDECLAREÇøÓò¸³Öµ£»
c.ʹÓÃ%TYPEºÍ%ROWTYPEÉùÃ÷¿ÉÒÔʹ±äÁ¿µÄÀàÐÍÓë±íÖÐ×Ö¶ÎÀàÐÍ»òÕû¸ö¼Ç¼ÀàÐͱ ......
±¾ÊµÀýÒÑÍêȫͨ¹ý²âÊÔ,µ¥Ïò,ÓÖÏòͬ²½¶¼¿ÉʹÓÃ.
--Ãû´Ê˵Ã÷£ºÔ´——±»Í¬²½µÄÊý¾Ý¿â
Ä¿µÄ——Ҫͬ²½µ½µÄÊý¾Ý¿â
Ç°6²½±ØÐëÖ´ÐÐ,µÚ6ÒÔºóÊÇһЩ¸¨ÖúÐÅÏ¢.
--1¡¢ÔÚÄ¿µÄÊý¾Ý¿âÉÏ£¬´´½¨dblink
drop public database link dblink_orc9 ......
ÔÚ´óÐ͵ÄÆóÒµÓ¦ÓûòÆóÒµ¼¶µÄÊý¾Ý¿âÓ¦ÓÃÖУ¬Òª´¦ÀíµÄÊý¾ÝÁ¿Í¨³£¿ÉÒÔ´ïµ½¼¸Ê®µ½¼¸°ÙGB£¬ÓеÄÉõÖÁ¿ÉÒÔµ½TB¼¶¡£ËäÈ»´æ´¢½éÖʺÍÊý¾Ý´¦Àí¼¼ÊõµÄ·¢Õ¹Ò²ºÜ¿ì£¬µ«ÊÇÈÔÈ»²»ÄÜÂú×ãÓû§µÄÐèÇó£¬ÎªÁËʹÓû§µÄ´óÁ¿µÄÊý¾ÝÔÚ¶Áд²Ù×÷ºÍ²éѯÖÐËٶȸü¿ì£¬OracleÌṩÁ˶ԱíºÍË÷Òý½øÐзÖÇøµÄ¼¼Êõ£¬ÒÔ¸ÄÉÆ´óÐÍÓ¦ÓÃϵͳµÄÐÔÄÜ¡£
ʹÓ÷ÖÇøµÄÓŵ㣠......
LENGTH calculates length using characters as defined by the input character set.
LENGTHB uses bytes instead of characters.
VSIZE returns the number of bytes in the internal representation of expr.
LENGTHC uses Unicode complete characters.
LENGTH2 uses UCS2 codepoints.
......