ÇóÒ»¾äSQLÓï¾ä - Oracle / »ù´¡ºÍ¹ÜÀí
ÓбíTABLE£¬A,B,CÈýÁС£²éѯ¸Ã±íÊý¾Ý£¬µ±AÁдóÓÚBÁÐʱѡÔñÏÔʾBÁУ¬Èç¹ûCÁдóÓÚBÁÐʱ£¬Ñ¡ÔñÏÔʾCÁС£
Ó¦¸ÃÒªÓõ½ CASE WHEN°É¡£¡£ÓеãÍ·ÌÛÁË¡£ÀÏÊÇ˵ÎÒÉÙЩ¸ö²ÎÊý¡£
»¹ÊÇ ºÜ¼òµ¥µÄ £¬µ«ÊÇÏÖÔÚµçÄÔûװÊý¾Ý¿â д²»³öÀ´
û˵Çå³þ£¬ÊÇORACLEϵÄÓï¾ä¡£ºÃÏñ²»ÄÜÓà case when¡£ÎÒ²»ÖªµÀ¸ÃÔõô×öÁË
Â¥Ö÷°Ñ´úÂëÌùÉÏ¿´¿´¡£ÓÃcase when ÊÇ¿ÉÒԵġ£
³É¹¦ÁË¡£¡£¡£¸Õ²Å×Ô¼ºÊÔ³öÀ´ÁË¡£
SQL code:
select decode(sign(A-B),1,B),decode(sign(C-B),1,C) from table
SQL code:
--1.case
SELECT CASE
WHEN c > b THEN
c
WHEN b > a THEN
b
ELSE
a
END
from t1;
--2.decode
SELECT decode(sign(c - b), 1, c, decode(sign(b - a), 1, b, a), a) from t1;
SQL code:
SQL> create table tb(A int,B int, C int);
Table created.
SQL> insert into tb values(3,5,7);
1 row created.
SQL> insert into tb values(7,3,8);
1 row created.
SQL> insert into tb values(4,2,6);
1 row created.
SQL> select * from tb;
A B C
---------- ---------- ----------
3 5 7
Ïà¹ØÎÊ´ð£º
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
ÎÒÔÚ¿ª·¢µÄÕâ¸öÓ¦Óò¢·¢ÐԱȽϸߣ¬oracle¸üÐÂÊý¾ÝʱºòÈçºÎ´¦Àí²¢·¢´¦ÀíÄØ£¿¸÷λ´óÏÀ·¢±íºÃµÄ¹Ûµã°¡£¬ÔÚÏߵȴý£¡
oracleÊý¾Ý¸üÐÂʱ£¬»á×Ô¶¯Ä¬ÈÏÐÐËø¶¨£¬Â¥Ö÷²»Òª²ÙÐÄ£¬Oracle¶Ô²¢Ðд¦ÀíÒѾºÜ³ÉÊìÁË
ÒýÓÃ
oracle ......
ÔÚϵͳÔËÐеÄʱºò×ÜÊÇÓÐÒ»¿é´ÅÅÌʼÖÕÉÁºìµÆ£¬½øÈëϵͳºó
#topas²é¿´×ÜÊÇÓÐÒ»¿é´ÅÅÌ%BUSYΪ90%ÒÔÉÏ£¬
Êý¾Ý¿â°æ±¾£ºoracle 9.2.0.7
Êý¾ÝÎļþ¹ÒÔØµÄ½Úµã£º/oradata/pcs/ Âß¼¾íºÅlv04
#lslv -l lv04
......
1¡£ÔõÑùʹxp_cmdshellÄÜÍêÕûÊä³ö³¬¹ý255¸ö×Ö·ûµÄ×Ö·û´®¡£
2¡£select ʱ£¬¼ìË÷ËÙ¶ÈÊÇÓëfromºóµÄ TABLE˳ÐòÓйأ¬»¹ÊÇÓëwhereÌõ¼þµÄ˳ÐòÓйØ(TABLEÊý¾Ý¶àÉÙ )
ÔÚϵͳÊôÐÔÉ趨ÀïÓиöÑ¡Ïî,¿ÉÒÔÐ޸ĵ¥×Ö¶ÎÊä³ö×ÖÊýÏÞÖÆ. ......