1.select LAST_DAY(SYSDATE ) from dual
產生結果:2001/9/30 PM 06:06:56
2.select TO_CHAR(sysdate) from dual ***sysdate可換成'20010909'***
產生結果:24-SEP-01
3.select CHR(97) from dual ***可求出數字代表的字碼***
產生結果:a
4.select SUBSTR('char',1,3 ) from dual ***可求出'char'從第1碼到第3碼***
產生結果:cha
5.SELECT ASCII('A') FROM DUAL ***可求出'A'的ASCII碼***
產生結果:65
6.SELECT CONCAT('CHAR','CHAR1') FROM DUAL ***可求出'CHAR'和'CHAR1'***
產生結果:CHARCHAR1
7.SELECT LENGTH('char123') FROM DUAL ***可求出'char123'的長度***
產生結果:7
8.SELECT LENGTHB('char123') FROM DUAL ***可求出'char123'的長度***
產生結果:7
9.SELECT LPAD('char1',10,'2char2') FROM DUAL ***可求出'char1',10,'2char2'的字碼***
產生結果:2charchar1
10.SELECT RPAD('char1', 10 ,'2char2') FROM DUAL ***可求出'char1',10,'2char2'的字碼***
產生結果:char12char
11.SELECT INITCAP('cASE_kIND') FROM DUAL ***可將'cASE_kIND'的第一碼改成大寫,其它改成小寫***
產生結果:Case_Kind
12.SELECT INSTR('XC11','C') FROM DUAL ***尋找'XC11','C'的'C'的碼位***
產生結果:2
13.SELECT LTRIM(CASE_YEAR||CASE_KIND||CASE_NO) AS A FROM PLNTF ORDER BY A ***LTRIM左邊去空白 ***
產生結果:089交訴00001
SELECT RTRIM(CASE_YEAR||CASE_KIND||CASE_NO) AS A FROM PLNTF ORDER BY A ***RTRIM右邊去空白 ***
14.SELECT UPPER('case_year') FROM DUAL ***將'case_year'改成大寫***
產生結果:CASE_YEAR
15.select ABS(5) from dual ***將資料改成數字形態***
產生結果:5
16.select AVG(DISTINCT 1) from dual ***將資料計算其平均值***
產生結果:1
17.select SYSDATE from dual ***產生系統日期時間***
產生結果:2001/10/31 PM 03:53:37
18.select TO_CHAR(sysdate) from dual ***產生系統日期***
產生結果:31-OCT-01
19.select ADD_MONTHS(sysdate,1) from dual ***產生系統日期時間+一個月,若1改成2則+兩個月***
產生結果:2001/11/30 PM 04:00:58
20.select LAST_DAY(sysdate) from dual ***產生系統當月最後一天日期時間***
產生結果:2001/10/31 PM 04:01:49
21.select TO_CHAR(sysdate ,'YYYY') from dual ***產生系統年度,若YYYY改成兩碼YY,就只帶後兩碼***
產生結果:2001
22.select TO_CHAR(sysdate, 'MM/DD/YY') from dual ***產生結果是依'MM/DD/YY'的排序***
產生結果:10/31/01 (90年10月31日製作)
23.select TRUNC(SYSDATE ,'YY') from dual ***產生結果是依'YY'的變數為改變,若改成'MM'及'DD'的結果會不同***
產生結果:('YY') 2001/1/1 ,('MM') 2001/10/1 ,('DD') 2001/10/31
24.select (TO_CHAR(sysdate,'YYYY')-1911)||TO_CHAR(sysdate, 'MMDD') from dual ***產生結果為民國年月日***
產生結果:920401
25.select LENGTH('char') from dual ***產生字串長度***
產生結果:4
26.select nvl(null,0) from dual ***若欄位為''或null,則為0
產生結果:0
27.select TO_CHAR(ADD_MONTHS(TRUNC(sysdate),0)-31,'YYYYMMDD') from dual ***日期的加減***
產生結果:20030428 (2003/05/29執行)
28.select TRUNC(sysdate,'MM') from dual ***將日期取月份的第一天***
產生結果:2003/6/1 (2003/06/12執行)
29.select TRUNC(sysdate,'YY') from dual ***將日期取年度的第一天***
產生結果:2003/1/1 (2003/06/12執行)
30.select ceil(1.001) from dual ***無條件進位(好像是如此,需要再驗證)***
產生結果:2
31.select round(1.58,1) from dual ***四拾五入進位法***
產生結果:1.6
32.select TO_DATE('20030702' ,'YYMMDD') from dual ***字串變成日期格式***
產生結果:2003/7/2
33.select to_char(to_date('20041231','YYYYMMDD'),'day') from dual ***求星期幾***
產生結果:friday
34.select to_char(sysdate,'WW') from dual ***求週別***
產生結果: 37 (2005/09/13執行)
35.select to_char(to_date('20050915','YYYYMMDD'),'d') from dual ***求一週的第幾天***
產生結果: 5 (星期日為一週的第一天,20050915為星期四,是一週的第五天)
36.select LOWER('Test') from dual ***將字型轉成小寫***
產生結果: test
37.select replace('123-456-789','-','') from dual ***將-置換成null***
產生結果: 123456789
38.select TO_CHAR(sysdate, 'HH24MISS') from dual ***將系統時間顯示出來***
產生結果: 135505
39.select TO_CHAR(sysdate,'YYYYMMDDHH24MISS') from dual ***將系統日期時間顯示出來***
產生結果: 20080429173550 (執行日期時間 2008/04/29 173550 )
40.select TO_DATE('20080526163301','YYYYMMDDHH24MISS') from dual ***將日期時間轉換成日期格式***
產生結果: 2008/5/26 下午 04:33:01
41.select * from v$version 查看oracle的版本
2008年10月1日 星期三
常用的Function
Oracle內建許多的Function但常用的確不多,所以就將我常用的整理出來給有需要的人參考囉.
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言