Oracle²ã´Î²éѯºÍ·ÖÎöº¯ÊýÔںŶÎѡȡÖеÄÓ¦ÓÃ
Oracle²ã´Î²éѯºÍ·ÖÎöº¯ÊýÔںŶÎѡȡÖеÄÓ¦ÓÃ
ÕªÒª
Ò»×éÁ¬ÐøµÄÊý£¬È¥µôÖмäһЩÊý£¬ÈçºÎÇó³öʣϵÄÊýµÄÇø¼ä£¨¼´ºÅ¶Î£©£¿ÖªµÀºÅ¶ÎµÄÆðÖ¹£¬ÈçºÎÇó³ö¸ÃºÅ¶ÎÄÚËùÓеÄÊý£¿ÖªµÀÒ»¸ö´óµÄºÅ¶Î·¶Î§ºÍÒѾȡ¹ýµÄºÅ¶Î£¬ÈçºÎÇó³ö¿ÉÓõĺŶΣ¿ÀûÓÃOracleÌṩµÄÇ¿´óµÄ²éѯ¹¦ÄÜÒÔ¼°·ÖÎöº¯Êý£¬ÎÒÃÇ¿ÉÒÔºÜÇáËɵĽâ¾öÉÏÊöÎÊÌâ¡£
¹Ø¼ü´Ê£º
ºÅ¶Îѡȡ¡¢Á¬ÐøÊý¡¢¶Ïµã¡¢²ã´Î²éѯ¡¢·ÖÎöº¯Êý¡¢connect by¡¢rownum¡¢level¡¢lead¡¢lag
1. ÎÊÌâµÄÌá³ö
ÔÚʵ¼Ê¹¤×÷ÖУ¬ÎÒÃdz£³£»áÅöµ½ºÅ¶ÎѡȡµÄÎÊÌ⣬ÀýÈ磺
Ò»×éÁ¬ÐøµÄÊý£¬È¥µôÖмäһЩÊý£¬ÒªÇó³öʣϵÄÊýµÄÇø¼ä£¨¼´ºÅ¶Î£©
ÀýÈ磺һ´®Êý×ÖΪ1,2,3,4,7,9,10£¬ÔòºÅ¶ÎΪ1-4,7-7,9-10
ÖªµÀºÅ¶ÎµÄÆðÖ¹£¬ÒªÇó³ö¸ÃºÅ¶ÎÄÚËùÓеÄÊý
ÀýÈ磺ºÅ¶ÎΪ1-3,15-15£¬ÔòºÅ¶ÎÄÚËùÓеÄÊýΪ1,2,3,15
Ò»×éÊý£¬Öмä¿ÉÄÜÓжϵ㣬ҪÇó³öȱʧµÄÊý
ÀýÈ磺һ´®Êý×ÖΪ1,2,3,4,7,9,10£¬ÔòȱʧµÄÊýΪ5,6,8
ÒÑÖª´óºÅ¶Î·¶Î§¼°ÒÑÓúŶη¶Î§£¬Çó¿ÉÓúŶη¶Î§
ÀýÈ磺´óºÅ¶Î·¶Î§0-999,ÒÑÓúŶη¶Î§0-200,399-599£¬Ôò¿ÉÓúŶη¶Î§Îª201-398,600-999
2. »ù´¡ÖªÊ¶
ÏÈ×öÏÂÈÈÉíÔ˶¯£¬»Ø¹Ëһϲã´Î²éѯºÍlead£¯lagº¯ÊýµÄÔËÓá£
2.1 αÁÐrownumºÍlevel
αÁоÍÊDz¢·ÇÔÚ±íÖÐÕæÕý´æÔÚµÄÁС£ÒÑÓкܶà×ÊÁϽéÉÜrownumºÍlevelÕâÁ½¸öαÁС£ÕâÀïÖ»ÏëÇ¿µ÷Ò»µã£¬Î±ÁÐÊÇÖ»Õë¶Ô½á¹û¼¯µÄ¡£
2.2 ÀûÓòã´Î²éѯ¹¹ÔìÁ¬ÐøµÄÊý
²úÉú5¡«8Õâ4¸öÁ¬ÐøµÄÊý
PHP code:
select * from (select rownum+4 from dual connect by rownum<5);
select * from (select level+4 from dual connect by level<5);
........
ÒÔ8ÔÂΪ½ç£¬ÀýÈç2005Äê8ÔÂ1ÈÕ£¬Ö®Ç°µÄÔÚУѧÉúÈëѧÄê·ÝΪ2001¡«2004£¬Ö®ºóµÄΪ2002¡«2005¡£Çóµ±Ç°ÈÕÆÚϵÄÔÚУѧÉúÈëѧÄê·Ý£º
PHP code:
select * from (select to_char(add_months(sysdate, 4), 'yyyy') - rownum from dual connect by rownum<
Ïà¹ØÎĵµ£º
select nvl2(replace(translate('69584.00.00','.0123456789','000000000000'),'0',''),'·ñ','ÊÇ') IsNumber from dual;
select id,nvl2(replace(translate(id,'.0123456789','000000000000'),'0',''),'·ñ','ÊÇ') IsNumber
from tbl2 ......
DECODEº¯ÊýÊÇORACLE PL/SQLÊǹ¦ÄÜÇ¿´óµÄº¯ÊýÖ®Ò»£¬Ä¿Ç°»¹Ö»ÓÐORACLE¹«Ë¾µÄSQLÌṩÁ˴˺¯Êý£¬ÆäËûÊý¾Ý¿â³§É̵ÄSQLʵÏÖ»¹Ã»Óд˹¦ÄÜ¡£DECODEÓÐʲôÓÃ; ÄØ£¿ Ïȹ¹ÔìÒ»¸öÀý×Ó£¬¼ÙÉèÎÒÃÇÏë¸øÖÇÐÇÖ°Ô±¼Ó¹¤×Ê£¬Æä±ê×¼ÊÇ£º¹¤×ÊÔÚ8000ÔªÒÔϵĽ«¼Ó20£¥£»¹¤×ÊÔÚ8000ÔªÒÔÉϵļÓ15£¥£¬Í¨³£µÄ×ö·¨ÊÇ£¬ÏÈÑ¡³ö¼Ç¼ ÖеŤ×Ê×Ö¶ÎÖµ? select ......
=================================================================================
Oracle RAC ²úÆ·¸ÅÊö
Oracle Real Application Server£¬ÕæÕýÓ¦Óü¯Èº£¬¼ò³ÆOracle RAC £¬ÊÇOracleµÄ²¢Ðм¯Èº£¬Î»ÓÚ²»Í¬·þÎñÆ÷ϵͳµÄOracleʵÀýͬʱ·ÃÎÊͬһ¸öOracleÊý¾Ý¿â£¬½ÚµãÖ®¼äͨ¹ý˽ÓÐÍøÂç½øÐÐͨÐÅ£¬ËùÓеĿØÖÆÎļþ¡¢Áª»úÈÕÖ ......
--²é³öËùÓб»Ëø×¡µÄ±í
select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL
from v$locked_object a,dba_objects b, v$session c
where b.object_id = a.object_id AND a.SESSION_ID =c.sid;
--ͨ¹ýSID, SERIAL½âËø
--alter system kill sessio ......