一、字符串函数
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