一、字符串函數
Oracle中常用的字符串函數包括:CONCAT、LENGTH、SUBSTR、INSTR、LTRIM、RTRIM、TRIM等。
1. CONCAT函數
CONCAT函數用於將兩個字符串連接起來,其使用格式為:
CONCAT(string1, string2)
例如,將字符串Hello和World連接起來,可以這樣寫:
SELECT CONCAT('Hello', 'World') FROM dual;
輸出的結果為:
HelloWorld
2. LENGTH函數
LENGTH函數用於獲取一個字符串的長度,其使用格式為:
LENGTH(string)
例如,獲取字符串HelloWorld的長度,可以這樣寫:
SELECT LENGTH('HelloWorld') FROM dual;
輸出的結果為:
10
3. SUBSTR函數
SUBSTR函數用於獲取一個字符串的子串,其使用格式為:
SUBSTR(string, start\_pos, length)
其中,start\_pos代表子串的起始位置,length代表子串的長度。例如,獲取字符串HelloWorld中的子串World,可以這樣寫:
SELECT SUBSTR('HelloWorld', 6, 5) FROM dual;
輸出的結果為:
World
4. INSTR函數
INSTR函數用於查找一個子串在一個字符串中的位置,其使用格式為:
INSTR(string, sub\_string, start\_pos, occurrence)
其中,sub\_string代表要查找的子串,start\_pos代表查找的起始位置,occurrence代表要查找的第幾個子串。例如,查找字符串HelloWorld中最後一個l的位置,可以這樣寫:
SELECT INSTR('HelloWorld', 'l', -1, 1) FROM dual;
輸出的結果為:
9
5. LTRIM、RTRIM、TRIM函數
LTRIM函數用於刪除一個字符串左側的指定字符,其使用格式為:
LTRIM(string, char)
其中,char代表要刪除的字符。例如,刪除字符串HelloWorld左側的所有空格,可以這樣寫:
SELECT LTRIM(' HelloWorld', ' ') FROM dual;
輸出的結果為:
HelloWorld
RTRIM函數用於刪除一個字符串右側的指定字符,其使用格式為:
RTRIM(string, char)
例如,刪除字符串HelloWorld右側的所有空格,可以這樣寫:
SELECT RTRIM('HelloWorld ', ' ') FROM dual;
輸出的結果為:
HelloWorld
TRIM函數用於刪除一個字符串兩側的指定字符,其使用格式為:
TRIM(char FROM string)
其中,char代表要刪除的字符。例如,刪除字符串HelloWorld兩側的所有空格,可以這樣寫:
SELECT TRIM(‘ ‘ FROM ‘ HelloWorld ‘) FROM DUAL;
輸出的結果為:
HelloWorld
二、數值函數
Oracle中常用的數值函數包括:ROUND、TRUNC、MOD、ABS等。
1. ROUND函數
ROUND函數用於將一個數四捨五入到指定的小數位數,其使用格式為:
ROUND(number, decimals)
其中,number代表要四捨五入的數,decimals代表要保留的小數位數。例如,將數值1.23456四捨五入到小數點後兩位,可以這樣寫:
SELECT ROUND(1.23456, 2) FROM dual;
輸出的結果為:
1.23
2. TRUNC函數
TRUNC函數用於將一個數截斷到指定的小數位數,其使用格式為:
TRUNC(number, decimals)
其中,number代表要截斷的數,decimals代表要保留的小數位數。例如,將數值1.23456截斷到小數點後兩位,可以這樣寫:
SELECT TRUNC(1.23456, 2) FROM dual;
輸出的結果為:
1.23
3. MOD函數
MOD函數用於計算兩個數的模,其使用格式為:
MOD(dividend, divisor)
其中,dividend代表被除數,divisor代表除數。例如,計算5除以2的餘數,可以這樣寫:
SELECT MOD(5, 2) FROM dual;
輸出的結果為:
1
4. ABS函數
ABS函數用於計算一個數的絕對值,其使用格式為:
ABS(number)
例如,計算數值-5的絕對值,可以這樣寫:
SELECT ABS(-5) FROM dual;
輸出的結果為:
5
三、日期函數
Oracle中常用的日期函數包括:SYSDATE、ADD\_MONTHS、MONTHS\_BETWEEN、NEXT\_DAY等。
1. SYSDATE函數
SYSDATE函數用於獲取當前系統時間,其使用格式為:
SYSDATE
例如,獲取當前系統時間,可以這樣寫:
SELECT SYSDATE FROM dual;
輸出的結果為:
2022-11-11 22:11:22
2. ADD\_MONTHS函數
ADD\_MONTHS函數用於在一個日期上增加指定的月份,其使用格式為:
ADD\_MONTHS(date, months)
其中,date代表要增加月份的日期,months代表要增加的月份數。例如,將日期2022-11-11增加3個月,可以這樣寫:
SELECT ADD\_MONTHS('11-NOV-22', 3) FROM dual;
輸出的結果為:
11-FEB-23
3. MONTHS\_BETWEEN函數
MONTHS\_BETWEEN函數用於計算兩個日期之間相差的月份數,其使用格式為:
MONTHS\_BETWEEN(date1, date2)
其中,date1和date2分別代表兩個日期。例如,計算2022-11-11和2022-09-11之間相差的月份數,可以這樣寫:
SELECT MONTHS\_BETWEEN('11-NOV-22', '11-SEP-22') FROM dual;
輸出的結果為:
2
4. NEXT\_DAY函數
NEXT\_DAY函數用於獲取指定日期的下一個星期幾的日期,其使用格式為:
NEXT\_DAY(date, day)
其中,date代表要查找的日期,day代表要查找的星期幾。例如,查找2022-11-11後面的下一個周六的日期,可以這樣寫:
SELECT NEXT\_DAY('11-NOV-22', 'SATURDAY') FROM dual;
輸出的結果為:
12-NOV-22
原創文章,作者:QBIHS,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371559.html