1. 程式人生 > >oracle內置函數

oracle內置函數

遇到 想要 trim cat 定義 刪掉 nth between 表示

一 字符串類型

1 CONCAT(A,B) 兩個字段ab連接

2 A||B 字段連接,可以連接多個

3 LENGTH(char \ varchar2) 返回字符串長度

4 LOWER 所有字母小寫

5 UPPER 所有字母大寫

6 INITCAP 首字母大寫,其余小寫,如果單詞間有空格,每個單詞首字母都大寫

7 TRIM (char1 from char2) 刪掉char2兩邊的char1,註意,char1只能有一個字符

8 LTRIM (char1,char2) 從car1左邊開始,char2中所含有的字符,都會被刪掉,直到遇到char2中不存在的字符。

9 RTRIM(char1,char2)從char1右邊開始,刪掉在char2中出現過的所有字符,直到遇到char2中沒有出現過的字符

10 LPAD (str1,n,‘$’) str1是要操作的字符串,n是目標長度,$是替換符號。str1不足長度n,不足的位左邊補$,超出n位的話,從左向右截取n位

11 RPAD (str1,n,‘$’) str1是要操作的字符串,n是目標長度,$是替換符號。str1不足長度n,不足的位右邊補$,超出n位的話,也是從左向右截取n位

12 SUBSTR (str,index,length) 操作str字符串,從左第index位,開始截取,長度為length,如果index是負數,從右數第index位開始截取,若不指定length,截取到最後

13 INSTR (str1,str2,m,n) 檢查str2在str1中出現的位置,m表示從哪裏開始檢查,n表示出現的次數,mn默認都是1

二 數值操作

1 ROUND(num,index) round(45.798,2)個位index為0,向右移兩位是9,看下一位是8,進一,得45.80。 round(45.678,-1)向左一位,4,下一位5進一得50

2TRUNC(m,n) 直接截取 trunc(45.678,2) 從個位右兩位7,後面截掉的45.67

3MOD(m,n) m%n

4 CEIL(A) 向上取整

5FLOOR(b) 向下取整

三 日期

1 TO_CAHR(date,‘’YYYY-MM-DD‘’) 將date轉化為’YYYY-MM-DD‘格式,格式可以自己定義,但定義時要註意系統不能識別的字符要用雙引號括起來

2 LAST_DAY(DATE) 返回date日期當月最後一日

3 ADD_MONTHs(DATE,i)返回date加上i個月是哪一天

4 MONTHS_BETWEEN (DATE1,DATE2)兩個日期之間相差幾個月

5 NEXT_DAY(DATE,char1) 從日期的下一天開始找,第一個char1 , char1可以取值星期幾,英文星期幾,1-7,註意1是星期日,依次後推。

6 LAEST(A,B,C……)找到最小

7 GREAST(A,B,C……)找到最大

8 EXTRACT(year from date) 從date中抽取你想要元素year month 或者day

9 NVL(arg1,arg2) 若arg1不為空,返回arg1,若為空,返回arg2

10 NVL2(arg1,arg2,arg3) 若arg1不為空,返回arg2,若arg1為空,返回arg3

oracle內置函數