您的位置:

Oracle常用函数详解

一、字符串函数

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