Oracle DECODEº¯Êý
DECODEº¯ÊýÊÇORACLE PL/SQLÊǹ¦ÄÜÇ¿´óµÄº¯ÊýÖ®Ò»£¬Ä¿Ç°»¹Ö»ÓÐORACLE¹«Ë¾µÄSQLÌṩÁ˴˺¯Êý£¬ÆäËûÊý¾Ý¿â³§É̵ÄSQLʵÏÖ»¹Ã»Óд˹¦ÄÜ¡£DECODEÓÐʲôÓÃÍ¾ÄØ£¿Ïȹ¹ÔìÒ»¸öÀý×Ó£¬¼ÙÉèÎÒÃÇÏë¸øÖÇÐÇÖ°Ô±¼Ó¹¤×Ê£¬Æä±ê×¼ÊÇ£º¹¤×ÊÔÚ8000ÔªÒÔϵĽ«¼Ó20£¥£»¹¤×ÊÔÚ8000ÔªÒÔÉϵļÓ15£¥£¬Í¨³£µÄ×ö·¨ÊÇ£¬ÏÈÑ¡³ö¼Ç¼ÖеŤ×Ê×Ö¶ÎÖµ? select salary into var-salary from employee£¬È»ºó¶Ô±äÁ¿var-salaryÓÃif-then-else»òchoose caseÖ®ÀàµÄÁ÷¿ØÖÆÓï¾ä½øÐÐÅжϡ£ Èç¹ûÓÃDECODEº¯Êý£¬ÄÇôÎÒÃǾͿÉÒÔ°ÑÕâЩÁ÷¿ØÖÆÓï¾äÊ¡ÂÔ£¬Í¨¹ýSQLÓï¾ä¾Í¿ÉÒÔÖ±½ÓÍê³É¡£ÈçÏ£ºselect decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee ÊDz»ÊǺܼò½à£¿ 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
2¡¢ORACLE°²×°Â·¾¶Îª:C:\ORANT
·º¬Òå½âÊÍ:
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
200005¡¡¡¡1400
200006¡¡¡¡1500
200007¡¡¡¡1600
200101¡¡¡¡1100
200202¡¡¡¡1200
200301¡¡¡¡1300
ÏëҪת»¯ÎªÒÔϽṹµÄÊý¾Ý:
year¡¡¡¡¡¡char(4)¡¡¡¡¡¡¡¡¡¡ --Äê·Ý
month1¡¡¡¡number(10,2)¡¡¡¡¡¡--1ÔÂÏúÊÛ½ð¶î
month2¡¡¡¡number(10,2)¡¡¡¡¡¡--2ÔÂÏúÊÛ½ð¶î
month3¡¡¡¡number(10,2)¡¡¡¡¡¡--3ÔÂÏ
Ïà¹ØÎĵµ£º
»·¾³£ºÊý¾Ý¿â oracle 64bit ϵͳ win2008 64bit IIS7 ÔÚasp ÍøÒ³ÖÐʹÓÃadoÁ¬½ÓÊý¾Ý¿â ODBCÓõÄÊÇMicrosft ODBC for oracle
Çé¿ö£ºÔÚÍøÒ³µÄ²éѯÓï¾äÖв»º¬ÖÐÎĵĿÉÒÔ£¬Ö»ÒªÓï¾äÖк¬ÓÐÖÐÎľͻ᷵»Ø´íÎó½á¹û¡£
Èç:select 'Ò»¶þÈý' from dual;ÕâÑùµÄÓï¾ä ·µ»Ø»ØÀ´¾ÍÊÇ£¿£¿£¿
»¹ÒªËµÃ÷µÄÊÇoracleµÄ×Ö·û¼¯ÊÇAMERICAN_AMERICA.U ......
http://inthirties.com:90/thread-918-3-1.html
This article describes the installation of
Oracle 10g release 2 (10.2.0.1) RAC on Linux (Oracle Enterprise Linux
4.5) using NFS to provide the shared storage.
Introduction
Download Software
Operating System Installation
Oracle Installation Prereq ......
OracleÖÐÐÞ¸ÄSequence·½·¨£º¾ÍÊǸıäËüµÄincrement µÝÔö´óС£¬Ëü¿ÉÒÔΪÕýÒ²¿ÉÒÔΪ¸º¡£ÈçÏ£º
SQL> select seq.nextval from dual;
NEXTVAL
----------
21
SQL> alter sequence seq increment by 79;
ÐòÁÐÒѸü¸Ä¡£
SQL> select seq.nextval from d ......
select v.spid spid,v.appid appid,v.version version,v.newversion newversion,v.status status,v.createtime createtime from adc_spversionchangeapply v inner join adc_application a on a.id=v.appid
where a.create_by = 'a' and v.appid = '12000000005' and (v ......
Windows 7ÕæÊÇÈÃÈËÓÖ°®ÓÖºÞ°¡£¡±¾È˵çÄÔ֮ǰÒѰ²×° SQL Server 2005£¬°²×°¹ý³Ì¶¼Ã»Ê²Ã´ÎÊÌ⣬ºÜ¿ì¸ã¶¨£¬¿ÉÊÇ×°Ò»¸öOracle 10gÈ´»¨ÁËÎÒÒ»¸öÍíÉϵÄʱ¼ä£¡²»¹ý×ÜËã°²×°³É¹¦ÁË£¡ËäÈ»»¹Ã»ÓÐÕýʽ¿ªÊ¼Ê¹Ó㬵«ÊÇÐË·ÜÖ®ÓàÆÈ²»¼°´ýÒªºÍ´ó¼Ò·ÖÏíһϾÑ飡
Ê×ÏÈÒªÏÂÔØÖ§³ÖVista°æ±¾µÄOracle 10g£¨ÒÔÏÂÁ´½ÓµØÖ·ÔÚä¯ÀÀÆ÷Öдò¿ªÃ»Ó㬸´ ......