Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ORACLE ÖеÄDECODEº¯Êý

      ×òÌìÃæÊÔ±»Îʵ½ÁË·Ö¶Îͳ¼Æ,ÎÒÖªµÀdecode¿ÉÒÔ,ÃæÊÔ¹Ù½Ó×ÅÒªÎÒ˵decodeµÄÓï·¨,û»Ø´ðÉÏÀ´.´ÓÍøÉÏÕÒµÄ×ÊÁÏÉÔ΢¸ÄÁËÒ»ÏÂ.
DECODEº¯ÊýÊÇORACLE PL/SQLÊǹ¦ÄÜÇ¿´óµÄº¯ÊýÖ®Ò»£¬Ä¿Ç°»¹Ö»ÓÐORACLE¹«Ë¾µÄSQLÌṩÁ˴˺¯Êý£¬ÆäËûÊý¾Ý¿â³§É̵ÄSQLʵÏÖ»¹Ã»Óд˹¦ÄÜ¡£
      DECODEÓÐʲôÓÃ;ÄØ£¿ Ïȹ¹ÔìÒ»¸öÀý×Ó£¬¼ÙÉèÎÒÃÇÏë¸øÖ°Ô±¼Ó¹¤×Ê£¬Æä±ê×¼ÊÇ£º¹¤×ÊÔÚ8000ÔªÒÔϵĽ«¼Ó20£¥£»¹¤×ÊÔÚ8000ÔªÒÔÉϵļÓ15£¥£¬8000ÔªµÄ²»±ä.Èç¹ûÏëÏÈÔ¤ÀÀһϼӹ¤×ʺóµÄ½á¹û¿ÉÒÔÓÃdecodeº¯Êý.ÈçÏÂ:
      select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary) from employee 
DECODEµÄÓï·¨£ºDECODE(value,if1,then1,if2,then2,if3,then3,...,else)£¬±íʾÈç¹ûvalueµÈÓÚif1ʱ£¬DECODEº¯ÊýµÄ½á¹û·µ»Øthen1,...,Èç¹û²»µÈÓÚÈκÎÒ»¸öifÖµ£¬Ôò·µ»Øelse¡£³õ¿´Ò»Ï£¬DECODE Ö»ÄÜ×öµÈÓÚ²âÊÔ£¬µ«¸Õ²ÅÒ²¿´µ½ÁË£¬ÎÒÃÇͨ¹ýһЩº¯Êý»ò¼ÆËãÌæ´úvalue£¬ÊÇ¿ÉÒÔʹDECODEº¯Êý¾ß±¸´óÓÚ¡¢Ð¡ÓÚ»òµÈÓÚ¹¦ÄÜ¡£
  decode()º¯ÊýʹÓü¼ÇÉ
  ·Èí¼þ»·¾³:
  1¡¢Windows NT4.0+ORACLE 8.0.4
  ·º¬Òå½âÊÍ:
  decode(Ìõ¼þ,Öµ1,·­ÒëÖµ1,Öµ2,·­ÒëÖµ2,...Öµn,·­ÒëÖµn,ȱʡֵ)
  ¸Ãº¯ÊýµÄº¬ÒåÈçÏÂ:
  IF Ìõ¼þ=Öµ1 THEN
  RETURN(·­ÒëÖµ1)
  ELSIF Ìõ¼þ=Öµ2 THEN
  RETURN(·­ÒëÖµ2)
  ......
  ELSIF Ìõ¼þ=Öµn THEN
  RETURN(·­ÒëÖµn)
  ELSE
  RETURN(ȱʡֵ)
  END IF
  · ʹÓ÷½·¨:
  1¡¢±È½Ï´óС
  select decode(sign(±äÁ¿1-±äÁ¿2),-1,±äÁ¿1,±äÁ¿2) from dual; --È¡½ÏСֵ
  sign()º¯Êý¸ù¾Ýij¸öÖµÊÇ0¡¢ÕýÊý»¹ÊǸºÊý£¬·Ö±ð·µ»Ø0¡¢1¡¢-1
  ÀýÈç:
  ±äÁ¿1=10£¬±äÁ¿2=20
  Ôòsign(±äÁ¿1-±äÁ¿2)·µ»Ø-1£¬decode½âÂë½á¹ûΪ“±äÁ¿1”£¬´ïµ½ÁËÈ¡½ÏСֵµÄÄ¿µÄ¡£
  2¡¢±í¡¢ÊÓͼ½á¹¹×ª»¯
  ÏÖÓÐÒ»¸öÉÌÆ·ÏúÊÛ±ísale£¬±í½á¹¹Îª:
  month    char(6)      --Ô·Ý
  sell    number(10,2)   --ÔÂÏúÊÛ½ð¶î
  ÏÖÓÐÊý¾ÝΪ:
  200001  1000
  200002  1100
  200003  1200
  200004  1300
&


Ïà¹ØÎĵµ£º

ORACLE ROLLUPºÍCUBEµÄʹÓÃ

ROLLUP£¬ÊÇGROUP BY×Ó¾äµÄÒ»ÖÖÀ©Õ¹£¬¿ÉÒÔΪÿ¸ö·Ö×é·µ»ØС¼Æ¼Ç¼ÒÔ¼°ÎªËùÓзÖ×é·µ»Ø×ܼƼǼ¡£
CUBE£¬Ò²ÊÇGROUP BY×Ó¾äµÄÒ»ÖÖÀ©Õ¹£¬¿ÉÒÔ·µ»Øÿһ¸öÁÐ×éºÏµÄС¼Æ¼Ç¼£¬Í¬Ê±ÔÚĩβ¼ÓÉÏ×ܼƼǼ¡£
ÔÚÎÄÕµÄ×îºó¸½ÉÏÁËÏà¹Ø±íºÍ¼Ç¼´´½¨µÄ½Å±¾¡£
1¡¢ÏòROLLUP´«µÝÒ»ÁÐ
SQL> select division_id,sum(salary)
  2  ......

ORACLE GROUPINGº¯ÊýµÄʹÓÃ

GROUPINGº¯Êý¿ÉÒÔ½ÓÊÜÒ»ÁУ¬·µ»Ø0»òÕß1¡£Èç¹ûÁÐֵΪ¿Õ£¬ÄÇôGROUPING()·µ»Ø1£»Èç¹ûÁÐÖµ·Ç¿Õ£¬ÄÇô·µ»Ø0¡£GROUPINGÖ»ÄÜÔÚʹÓÃROLLUP»òCUBEµÄ²éѯÖÐʹÓᣵ±ÐèÒªÔÚ·µ»Ø¿ÕÖµµÄµØ·½ÏÔʾij¸öֵʱ£¬GROUPING()¾Í·Ç³£ÓÐÓá£
¹ØÓÚROLLUPºÍCUBEº¯ÊýµÄʹÓã¬Çë²Î¼ûÎÒµÄÁíһƪÎÄÕ¡£
http://blog.csdn.net/wh62592855/archive/2009/1 ......

Oracle SQLÓï¾ä²Ù×÷Êý×Ö£ºÈ¡Õû¡¢ËÄÉáÎåÈë¼°¸ñʽ»¯

 http://cheneyph.javaeye.com/blog/453492
ÓÃoracle sql¶ÔÊý×Ö½øÐвÙ×÷: È¡ÉÏÈ¡Õû¡¢ÏòÏÂÈ¡Õû¡¢±£ÁôNλСÊý¡¢ËÄÉáÎåÈë¡¢Êý×Ö¸ñʽ»¯
È¡Õû£¨ÏòÏÂÈ¡Õû£©£º 
select floor(5.534) from dual;
select trunc(5.534) from dual;
ÉÏÃæÁ½ÖÖÓ÷¨¶¼¿ÉÒÔ¶ÔÊý×Ö5.534ÏòÏÂÈ¡Õû£¬½á¹ûΪ5.
Èç¹ûÒªÏòÉÏÈ¡Õû £¬µÃµ½½á¹ûÎ ......

oracle¹ºÂò·½Ê½

×÷ΪoracleµÄÏúÊÛÕæÐÄÕæÒâµÄÔ­ÒâÓë´ó¼Ò·ÖÏíoracleµÄÒ»ÇУ¬ÎÒÕâ±ß²»ÊÇÇþµÀ£¬ÊÇoracle×ÊÉî×Ü´úÀí£¨ÖйúÈí¼þÓë¼¼Êõ·þÎñ¹É·ÝÓÐÏÞ¹«Ë¾£©£¬Ï£Íû´ó¼ÒÓйºÂòoracleÒâÔ¸µÄʱºò¼ÇµÃÎÒ£¨ÕÔÌìÊæ   15010529916£©£¬ÎһᾡÎÒËùÄܵİïÖú´ó¼Ò¡£
   ×î½üÓкܶàÈËÎÊÎÒoracleµÄ¹ºÂò·½Ê½£ºÔÚÕâÀïÎÒÏë²ûÊöµÄÊÇÉÌÎñÉϵĹºÂò· ......

OracleµÄº£Á¿´æ´¢¼¼Êõ

ÏÂÎçÈ¥²Î¼ÓÒ»¸öOracleÓйغ£Á¿Êý¾Ý´æ´¢¼¼ÊõµÄÅàѵ½²×ùÁË¡£
µØÖ·ÔÚ¹ãÖÝÊÐÁÖºÍÎ÷·101ºÅÌìºÓÇø¼Æ¾­´óÂ¥Î÷²àÈýÂ¥¡£
Åàѵ·¢Æð»ú¹¹Îª£º¹ãÖÝÖÐî£ÐÅÏ¢¼¼ÊõÓÐÏÞ¹«Ë¾¡£
 
ÏÂÃæ¾Í¼òÒª×ܽáÒ»ÏÂËùÌýµ½µÄһЩ¶«Î÷£¬Ò²ËãÊÇѧµ½µÄÕâЩ¼¼Êõ¡£²»¹ýÓеĶ«Î÷²»ÖªµÀ×ܽáµÄ¶Ô²»¶Ô£¬ÔÝÇÒàñàðÍÌÔæ°É¡£
 
OracleµÄ´æ´¢¼¼Êõ
´óÌåÉÏ· ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ