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 µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>,>=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆºõÊÇĪÃûÆäÃîµÄ½á¹ûÀ´£¬ÆäʵÄúÖ»ÒªÀí½âºÃÁËÕâ¸ö rownum αÁеÄÒâÒå¾Í²»Ó¦¸Ã¸Ðµ½¾ªÆæ£¬Í¬ÑùÊÇαÁУ¬r ......
Ò»¡¢ ROWIDµÄ¸ÅÄî
¡¡¡¡´æ´¢
ÁËrowÔÚÊý¾ÝÎļþÖеľßÌåλÖãº64λ±àÂëµÄÊý¾Ý£¬A-Z, a-z, 0-9, +, ºÍ /£¬
¡¡¡¡rowÔÚÊý¾Ý¿éÖеĴ洢
·½Ê½
¡¡¡¡SELECT ROWID, last_name from hr.employees WHERE department_id = 20;
¡¡¡¡±ÈÈ磺OOOOOOFFFBBBBBBRRR
¡¡¡¡OOOOOO£ºdata object number, ¶ÔÓ¦dba_objects.data_object_id
¡¡¡ ......
Ò»¡¢Ç¶Ì×±íµÄ¶¨Ò壺
ǶÌ×±íÊDZíÖÐÖ®±í¡£Ò»¸öǶÌ×±íÊÇijЩÐеļ¯ºÏ£¬ËüÔÚÖ÷±íÖбíʾΪÆäÖеÄÒ»ÁС£¶ÔÖ÷±íÖеÄÿһÌõ¼Ç¼£¬Ç¶Ì×±í¿ÉÒÔ°üº¬¶à¸öÐС£ÔÚijÖÖÒâÒåÉÏ£¬ËüÊÇÔÚÒ»¸ö±íÖд洢һ¶Ô¶à¹ØÏµµÄÒ»ÖÖ·½·¨¡£¿¼²éÒ»¸ö°üº¬²¿ÃÅÐÅÏ¢µÄ±í£¬ÔÚÈκÎʱ¼äÄÚÿ¸ö²¿ÃÅ»áÓкܶàÏîÄ¿ÕýÔÚʵʩ¡£ÔÚÒ»¸öÑϸñµÄ¹ØÏµÄ£ÐÍÖУ ......