Oracle erp 經驗問題集

longwansheng發表於2007-04-15
引自 http://blog.csdn.net/q30/archive/2004/08/13/73279.aspx[@more@]
201. /*+NOCACHE(TABLE)*/
     當進行全表掃描
表LRU的最近使用端
時,CACHE提示能夠將表的檢索塊放置在緩衝區快取中最近最少列
     例如:
     SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */EMP_NAM FROM BSEMPMS;
  202. /*+APPEND*/
     直接插入到表的最後,可以提高速度。
     insert /*+append*/ into test1 select * fromtest4 ;
  203. /*+NOAPPEND*/
     透過在插入語句生存期內停止並行模式來啟動常規插入。
     insert /*+noappend*/ into test1 select * from test4 ;
  ORACLE內部函式
  204. 如何得到字串的第一個字元的ASCII值?
     ASCII(CHAR)
     SELECT ASCII('ABCDE') FROM DUAL;
     結果: 65
  205. 如何得到數值N指定的字元?
     CHR(N)
     SELECT CHR(68) FROM DUAL;
     結果: D
  206. 如何連線兩個字串?
     CONCAT(CHAR1,CHAR2)
     SELECT CONCAT('ABC','DEFGH') FROM DUAL;
     結果: 'ABCDEFGH'
  207. 如何將列中的數值代替為字串?
     DECODE(CHAR,N1,CHAR1,N2,CHAR2...)
     SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL;
  208. INITCAP(CHAR)
     將字串CHAR的第一個字元為大寫,其餘為小寫。
     SELECT INITCAP('ABCDE') FROM DUAL;
  209. LENGTH(CHAR)
     取一字串CHAR的長度。
     SELECT LENGTH('ABCDE') FROM DUAL;
  210. LOWER(CHAR)
     將字串CHAR全部變為小寫。
     SELECT LOWER('ABCDE') FROM DUAL;
  211. LPAD(CHAR1,N,CHAR2)
     用字串CHAR2包括的字元左填CHAR1,使其長度為N。
     SELECT LPAD('ABCDEFG',10'123') FROM DUAL;
     結果: '123ABCDEFG'
  212. LTRIM(CHAR,SET)
     從字串CHAR的
左邊移去字串SET中的字元,直到第一個不是SET中的字元為止
     SELECT ('CDEFG','CD') FROM DUAL;
     結果: 'EFG'
  213. NLS_INITCAP(CHAR)
     取字元CHAR的第一個字元大寫,其餘字元為小寫。
     SELECT NLS_INITCAP('ABCDE') FROM DUAL;
  214. NLS_LOWER(CHAR)
     將字串CHAR包括的字元全部小寫。
     SELECT NLS_LOWER('AAAA') FROM DUAL;
  215. NLS_UPPER(CHAR)
     將字串CHAR包括的字元全部大寫。
     SELECT NLS_UPPER('AAAA') FROM DUAL;
  216. REPLACE(CHAR1,CHAR2,CHAR3)
     用字串CHAR3代替每一個列值為CHAR2的列,其結果放在CHAR1中。
     SELECT REPLACE(EMP_NO,'123','456') FROM DUAL;
  217. RPAD(CHAR1,N,CHAR2)
     用字串CHAR2右填字串CHAR1,使其長度為N。
     SELECT RPAD('234',8,'0') FROM DUAL;
  218. RTRIM(CHAR,SET)
     移去字串CHAR右邊的字串SET中的字元,直到最後一個不是SET中的字元為止。
     SELECT RTRIM('ABCDE','DE') FROM DUAL;
  219. SUBSTR(CHAR,M,N)
     得到字串CHAR從M處開始的N個字元. 雙位元組字符,一個漢字為一個字元的。
     SELECT SUBSTR('ABCDE',2,3) FROM DUAL;
  220. SUBSTRB(CHAR,M,N)
     得到字串CHAR從M處開始的N個字元. 雙位元組字符,一個漢字為二個字元的。
     SELECT SUBSTRB('ABCDE',2,3) FROM DUAL;
  221. TRANSLATE(CHAR1,CHAR2,CHAR3)
     將CHAR1中的CHAR2的部分用CHAR3代替。
     SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM DUAL;
  222. UPPER(CHAR)
     將字串CHAR全部為大寫。
  223. ADD_MONTHS(D,N)
     將N個月增加到D日期。
     SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL;
  224. LAST_DAY(D)
     得到包含D日期的月份的最後的一天的日期。
     SELECT LAST_DAY(SYSDATE) FROM DUAL;
  225. MONTH_BETWEEN(D1,D2)
     得到兩個日期之間的月數。
     SELECT MONTH_BETWEEN(D1,D2) FROM DUAL;
  226. NEXT_DAY(D,CHAR)
     得到比日期D晚的由CHAR命名的第一個週日的日期。
     SELECT NEXT_DAY(TO_DATE('2003/09/20'),'SATDAY') FROM DUAL;
  227. ROUNT(D,FMT)
     得到按指定的模式FMT舍入到的最進的日期。
     SELECT ROUNT('2003/09/20',MONTH) FROM DUAL;
  228. SYSDATE
     得到當前系統的日期和時間。
     SELECT SYSDATE FROM DUAL;
  229. TO_CHAR(D,FMT)
     將日期D轉換為FMT的字串。
     SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL;
  230. TO_DATE(CHAR,FMT)
     將字串CHAR按FMT的格式轉換為日期。
     SELECT TO_DATE('2003/09/20','YYYY/MM/DD')FROM DUAL;
  231. ABS(N)
     得到N的絕對值。
     SELECT ABS(-6) FROM DUAL;
  232. CEIL(N)
     得到大於或等於N的最大整數。
     SELECT CEIL(5.6) FROM DUAL;
  233. COS(N)
     得到N的餘弦值。
     SELECT COS(1) FROM DUAL;
  234. SIN(N)
     得到N的正弦值。
     SELECT SIN(1) FROM DUAL;
  235. COSH(N)
     得到N的雙曲餘弦值。
     SELECT COSH(1) FROM DUAL;
  236. EXP(N)
     得到N的E的N次冪。
     SELECT EXP(1) FROM DUAL;
  237. FLOOR(N)
     得到小於或等於N的最小整數。
     SELECT FLOOR(5.6) FROM DUAL;
  238. LN(N)
     得到N的自然對數。
     SELECT LN(1) FROM DUAL;
  239. LOG(M,N)
     得到以M為底N的對數。
     SELECT LOG(2,8) FROM DUAL;
  240. MOD(M,N)
     得到M除以N的餘數。
     SELECT MOD(100,7) FROM DUAL;
  241. POWER(M,N)
     得到M的N冪。
     SELECT POWER(4,3) FROM DUAL;
  242. ROUND(N,M)
     將N舍入到小數點後M位。
     SELECT (78.87653,2) FROM DUAL;
  243. SIGN(N)
     當N<0時,得到-1;

     當N>0時,得到1;

     當N=0時,得到0;
     SELECT SIGN(99) FROM DUAL;
  244. SINH(N)
     得到N的雙曲正弦值。
     SELECT SINH(1) FROM DUAL;
  245. SORT(N)
     得到N的平方根,N>=0

     SELECT SORT(9) FROM DUAL;
  246. TAN(N)
     得到N的正切值。
     SELECT TAN(0) FROM DUAL;
  247. TANH(N)
     得到N的雙曲正切值。
     SELECT TANH(0) FROM DUAL;
  248. TRUNC(N,M)
     得到在M位截斷的N的值。
     SELECT TRUNC(7.7788,2) FROM DUAL;
  249. COUNT()
     計算滿足條件的記錄數。
     SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA';
  250. MAX()
     對指定的列求最大值。
     SELECT MAX(COL1) FROM TABLE1;
  251. MIN()
     對指定的列求最小值。
     SELECT MIN(COL1) FROM TABLE1;
  252. AVG()
     對指定的列求平均值。
     SELECT AVG(COL1) FROM TABLE1;
  253. SUM()
     計算列的和。
     SELECT SUM(COL1) FROM DUAL;
  254. TO_NUMBER(CHAR)
     將字元轉換為數值。
     SELECT TO_NUMBER('999') FROM DUAL;
  255. CHARTOROWID(CHAR)
     將包含外部語法ROWID的CHAR或
須是包含外部語法的ROWID的18字元的字
VARCHAR2數值轉換為內部的二進位制語法,引數CHAR必
符串。
     SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO');
     NAME : LEIXUE
  256. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET)
     CONVERT將字串CHAR中的字元
DEST_CHAR_SET標識的字符集
從SOURCE_CHAR_SET標識的字符集轉換為由
     SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONVERSION' FROM PUBS;
     CONVERSION: Gross
  257. HEXTORAW(CHAR)
     將包含十六進位制的CHAR轉換為一個RAW數值。
     INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW('7D') FROM TEST;
  258. RAWTOHEX(RAW)
     將RAW數值轉換為一個包含十六進位制的CHAR值。
     SELECT RAWTOHEX(RAW_COLUMN) 'CONVERSION' FROM BSEMPMS;
     CONVERSION: 7D
  259. ROWIDTOCHAR(ROWID)
     將一個ROWID數值轉換為VARCHAR2資料型別。
     SELECT ROWID FROM BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE '%BR1AAB%';
  260. TO_MULTI_BYTE(CHAR)
     將CHAR中的單位元組轉換為等價的多位元組字元。
     SELECT TO_MULTI_BYTE('ASFDFD') FROM TEST;
  261. TO_SINGLE_BYTE(CHAR)
     將CHAR中的多位元組轉換為等價的單位元組字元。
     SELECT TO_SINGLE_BYTE('ASFDFD') FROM TEST;
  262. TRANSLATE USING(TEXT USING{CHAR_CS|NCHAR_CS})
     將文字TEXT按照指定的轉換方式轉換成資料庫字符集和民族字符集。
     其中TEXT是待轉換的。
     USING CHAR_CS參數轉換TEXT為資料庫字符集,輸出資料型別是VARCHAR2。
     USING NCHAR_CS引數轉換TEXT為資料庫字符集,輸出資料型別是NVARCHAR2。
     CREATE TABLE TEST(CHAR_COLCHAR(20),NCHAR_COL NCHAR(20));
  INSERT INTO TEST VALUES('HI,N'BYE');
     SELECT * FROM TEST;
   263. DUMP(EXPR,RETURN_FORMAT,START_POSITION,LENGTH)
     返回一個包含資料型別程式碼,
當前資料庫字符集,資料型別按照下面規
位元組長度等內部表示資訊的VARCHAR2值.返回結果是
定的內部資料型別的編碼作為一個數字進行返回:
      程式碼 資料型別
      0 VARCHAR2
      1 NUMBER
      8 LONG
      12 DATE
      23 RAW
      24 LONG RAW
      69 ROWID
      96 CHAR
     106 MSSLABEL
     引數RETUEN_FORMAT指定按照下面的基數表示返回的數值。
      RETURN_FORMAT RESULT
       8 8進位制
       10 10進位制
       16 16進位制
       17 單字元表示
     如果引數RETURN_FORMAT沒有指定,則按十進位制表示返回。
     如果引數START_P
的位元組將被返回,預設是返
OSITION和LENGTH被指定,則從S
回整數表示。
TART_POSITION開始的長為LENGTH
     SELECT DUMP('ABC',1016) FROM TEST;
     select dump(ename,8,3,2) 'example' fromemp where name='ccbzzp';
  264. empty_b|clob()
     返回一個空的LOB定位符,用在
化LOB列或將其屬性置為空。
初始化LOB變數,或用在INSERT及UPDATE宣告去初始
     INSERT INTO TABLE1 VALUES(EMPTY_BLOB());
     UPDATE TABLE1 SET CLOB_COL=EMPTY_BLOB();
  265. BFILENAME('DIRECTORY','FILENAME')
     返回一個BFILE定位符,相關的
DIRECTORY是指在伺服器的檔案系統上實
系統的檔名。
二進位制LOB物理檔案在伺服器的檔案系統上.目錄
際搜尋路徑全名的別名. FILENAME是指伺服器的檔案
     INSERT INTO FILE_TAB VALUES(BFILENAME('LOB_DIR','IMAGE1.GIF'));
   
  266. GREATEST(EXPR,EXPR,...)
     GREATEST返回引數的最大值。
     SELECT GREATEST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;
  267. LEAST(EXPR,EXPR,...)
     LEAST返回引數的最小值。
     SELECT LEAST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;
  268. NLS_CHARSET_DECL_LEN(BYTECNT,CSID)
     返回一個NCHAR列的寬度。
     SELECT NLS_CHARSET_DECL_LEN
TABLE1;
(200,NLS_CHARSET_ID('JA16EEFDFDF')) FROM
  269. NLS_CHARSET_ID(TEXT)
     返回相應於NLS字符集名字的NLS字符集ID數。
     SELECT NLS_CHARSET_D('JADFDFFDF') FROM TABLE1;
  270. NLS_CHARSET_NAME(N)
     返回相應於ID數N的NLS字符集名稱。
     SELECT NLS_CHARSET_NAME(2) FROM TABLE1;
  271. NVL(EXPR1,EXPR2)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92289/viewspace-910866/,如需轉載,請註明出處,否則將追究法律責任。

Oracle erp 經驗問題集
請登入後發表評論 登入
全部評論

相關文章