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

Oracle spool Ó÷¨Ð¡½á

ת×Ô£ºhttp://wallimn.javaeye.com/blog/472182
¶ÔÓÚSPOOL
Êý¾ÝµÄSQL£¬×îºÃÒª×Ô¼º¶¨Òå¸ñʽ£¬ÒÔ·½±ã³ÌÐòÖ±½Óµ¼Èë,SQLÓï¾ä
È磺
select
taskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYYMMDD'))
from ssrv_sendsms_task;
spool
³£ÓõÄÉèÖÃ
set colsep' ';¡¡¡¡¡¡ //ÓòÊä³ö·Ö¸ô·û
set echo off;¡¡¡¡¡¡¡¡//ÏÔʾstartÆô¶¯µÄ½Å±¾ÖеÄÿ¸ösqlÃüÁȱʡΪon
set feedback off;¡¡¡¡//»ØÏÔ±¾´ÎsqlÃüÁî´¦ÀíµÄ¼Ç¼ÌõÊý£¬È±Ê¡Îªon
set heading off;¡¡¡¡ //Êä³öÓò±êÌ⣬ȱʡΪon
set pagesize 0;¡¡¡¡¡¡//Êä³öÿҳÐÐÊý£¬È±Ê¡Îª24,ΪÁ˱ÜÃâ·ÖÒ³£¬¿ÉÉ趨Ϊ0¡£
set termout off;¡¡¡¡ //ÏÔʾ½Å±¾ÖеÄÃüÁîµÄÖ´Ðнá¹û£¬È±Ê¡Îªon
set trimout on;¡¡¡¡¡¡//È¥³ý±ê×¼Êä³öÿÐеÄÍÏβ¿Õ¸ñ£¬È±Ê¡Îªoff
set trimspool on;¡¡¡¡//È¥³ýÖØ¶¨Ïò£¨spool
£©Êä³öÿÐеÄÍÏ
β¿Õ¸ñ£¬È±Ê¡Îªoff
µ¼³öÎı¾Êý¾ÝµÄ½¨Òé¸ñʽ£º
SQL*PLUS»·¾³ÉèÖÃSET NEWPAGE NONE
                SET HEADING OFF
                SET SPACE 0
                SET PAGESIZE 0
                SET TRIMOUT ON
                SET TRIMSPOOL ON
                SET LINESIZE 2500
×¢£ºLINESIZEÒªÉÔ΢ÉèÖôóЩ£¬ÃâµÃÊý¾Ý±»½Ø¶Ï£¬ËüÓ¦ºÍÏàÓ¦µÄTRIMSPOOL½áºÏʹÓ÷ÀÖ¹µ¼³öµÄÎı¾ÓÐÌ«¶àµÄβ²¿¿Õ¸ñ¡£µ«ÊÇÈç¹û
LINESIZEÉèÖÃÌ«´ó£¬»á´ó´ó½µµÍµ¼³öµÄËÙ¶È£¬ÁíÍâÔÚWINDOWSϵ¼³ö×îºÃ²»ÒªÓÃPLSQLµ¼³ö£¬ËٶȱȽÏÂý£¬Ö±½ÓÓÃCOMMENDϵÄ
SQLPLUSÃüÁî×îС»¯´°¿ÚÖ´ÐС£
¶ÔÓÚ×Ö¶ÎÄÚ°üº¬ºÜ¶à»Ø³µ»»ÐзûµÄÓ¦¸Ã¸øÓë¹ýÂË£¬ÐÎ³É±È½Ï¹æ¾ØµÄÎı¾Îļþ¡£Í¨³£Çé¿öÏ£¬ÎÒÃÇʹÓÃSPOOL
·½
·¨£¬½«Êý¾Ý¿âÖÐµÄ±íµ¼³öΪÎı¾ÎļþµÄʱºò»á²ÉÓÃÁ½ÖÖ·½·¨£¬ÈçÏÂÊö£º
·½·¨Ò»£º²ÉÓÃÒÔϸñʽ½Å±¾¡¡
        set colsep '|'     &


Ïà¹ØÎĵµ£º

oracle instr


¶ÔÓÚinstrº¯Êý£¬ÎÒÃǾ­³£ÕâÑùʹÓ㺴ÓÒ»¸ö×Ö·û´®ÖвéÕÒÖ¸¶¨×Ó´®µÄλÖá£Àý
È磺
SQL> select
instr('yuechaotianyuechao','ao') position from dual;
 
  POSITION
----------
        
6
 
´Ó×Ö·û´®'yuechaotianyuechao'µÄµÚÒ»¸öλÖÿªÊ¼£¬Ïòºó² ......

OracleÖÐstart with...connect by prior×Ó¾äÓ÷¨

connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±íÖдæÔÚÁ½¸ö×Ö¶ ......

Oracleѧϰ±Ê¼ÇÖ®ÈÕÆÚº¯Êý

OracleÈÕÆÚº¯Êýѧϰʱ£¬Ôڽ̳ÌÓм¸¸öʵÀýÈçÏ£º
Months_between(’01-sep-95’, ’11-jan-94’)
½á¹ûÊÇ£º19.6774194

Add_months ÔÚÖ¸¶¨µÄÔ·ÝÉÏÃæÔö¼ÓÏàÓ¦µÃÔ·Ý
ÀýÈ磺
Add_months(’11-jan-94’, 6)
½á¹ûÊÇ£º11-jul-94

Next_day ¼ÆËã¹æ¶¨Èͮ򵀼óÒ»¸öÌØ¶¨ÈÕÆÚ
ÀýÈ磺
Next_ ......

OracleÖаÑyyyy mm ddת³ÉyyyyÄêmmÔÂddÈÕ


SQL> select   to_char(sysdate,'yyyy')||'Äê'||to_char(sysdate,'mm')||'ÔÂ'||to_char(sysdate,'dd')||'ÈÕ'  from   dual;
TO_CHAR(SYSDATE,'YYYY')||'Äê'|
»òÕßʹÓÃË«ÒýºÅ
select to_char(add_months(trunc(sysdate),-1),'yyyy"Äê"mm"ÔÂ"') from dual    È¡ÉϸöÔ·Ý
......

ÔÚOracleÖвéѯ±íµÄ´óСºÍ±í¿Õ¼äµÄ´óС

ÓÐÁ½ÖÖº¬ÒåµÄ±í´óС¡£Ò»ÖÖÊÇ·ÖÅä¸øÒ»¸ö±íµÄÎïÀí¿Õ¼äÊýÁ¿£¬¶ø²»¹Ü¿Õ¼äÊÇ·ñ±»Ê¹Ó᣿ÉÒÔÕâÑù²éѯ»ñµÃ×Ö½ÚÊý£º
select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
»òÕß
   Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name
ÁíÒ»ÖÖ±íʵ¼ÊÊ¹Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ