Oracle DBMS 中的函数
Oracle 中的不同类型函数如下 -
- Oracle 字符串函数
- Oracle 数字函数
- Oracle 日期函数
有关这些函数的详细信息如下 -
Oracle 字符串函数
以下是 Oracle 字符串函数 -
ASCII(str)
此函数返回提供的字符串 str 中第一个单词的 ASCII 或数值。如果它是一个空字符串,则返回 0。例如
SQL> SELECT ASCII('Apple'); +---------------------------------------------------------+ | ASCII('Apple') | +---------------------------------------------------------+ | 65 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
它返回 A 的 ASCII 值,即 65,因为它是字符串中的第一个字符。
CONCAT(str1,str2…..strn)
此函数通过连接参数列表中的所有字符串而返回形成的字符串。这些字符串可能只有两个或多个,但它们都将连接在一起。例如
SQL> SELECT CONCAT('Sky', 'Is', 'Beautiful'); +---------------------------------------------------------+ | CONCAT('Sky', 'Is', 'Beautiful') | +---------------------------------------------------------+ |SkyIsBeautiful | +---------------------------------------------------------+ 1 row in set (0.00 sec)
三个字符串“Sky”、“Is”、“Beautiful”被连接成一个字符串,即“SkyIsBeautiful”
LENGTH(str)
此函数以字节为单位返回字符串 str 的长度。例如
SQL> SELECT LENGTH('happy'); +---------------------------------------------------------+ | LENGTH('happy') | +---------------------------------------------------------+ | 5 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
返回字符串“happy”的长度以字节为单位,即 5。
LOWER(str)
此函数将所有大写字符转换为小写。例如
SQL> SELECT LOWER('BEAUTY'); +---------------------------------------------------------+ | LOWER('BEAUTY') | +---------------------------------------------------------+ | beauty | +---------------------------------------------------------+ 1 row in set (0.00 sec)
“BEAUTY”的所有字符都转换为小写,即“beauty”
STRCMP(str1,str2)
此函数比较两个字符串 str1 和 str2。如果两个字符串相等,则返回 0;如果 str1 大于 str2,则返回 1;如果 str2 大于 str1,则返回 -1。例如 -
SQL> SELECT STRCMP('MIKE', 'MIKE'); +---------------------------------------------------------+ | STRCMP('MIKE', 'MIKE') | +---------------------------------------------------------+ | 0 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
函数返回 0,因为字符串“MIKE”和“MIKE”相同。
UPPER(str)
此函数将小写字母转换为大写字母。例如 -
SQL> SELECT UPPER('orange'); +---------------------------------------------------------+ | UPPER('orange') | +---------------------------------------------------------+ | ORANGE | +---------------------------------------------------------+ 1 row in set (0.00 sec)
字符串“orange”在大写字母中转换为“ORANGE”。
Oracle 数字函数
以下是 Oracle 数字函数
ABS(X)
此函数返回 X 的绝对值。例如
SELECT ABS(-10);
返回 10。
MOD(X,Y)
变量 X 除以 Y,并返回余数。例如
SELECT MOD(15,2);
返回 1。
SIGN(X)
如果 X 为正数,则返回 1;如果为负数,则返回 -1;如果 X 的值为 0,则返回 0。例如
SELECT SIGN(-20);
返回 -1。
FLOOR(X)
返回小于或等于 X 的最大的整数值。例如
SELECT FLOOR(8.3);
返回 8。
CEIL(X)
返回大于或等于 X 的最小的整数值。例如 −
SELECT CEIL(8.3);
返回 9。
POWER(X,Y)
此函数返回 X 乘幂为 Y 的值。例如
SELECT POWER(3,2);
返回 9。
Oracle 日期函数
以下是 Oracle 字符串函数
SYSDATE()
此函数返回系统的当前日期和时间。它是使用最广泛的 Oracle 函数之一。SYSDATE() 通常与函数 TO_CHAR() 一起使用。例如
TO_CHAR(SYSDATE, ‘MM-DD-YYYY HH:MM:SS’);
以字符串形式返回系统日期和时间。在这种情况下,它将是“08-01-2018 12:28:34”。
MONTHS_BETWEEN(x,y)
此函数采用两个值(即 x 和 y),它们以月份的形式出现。它返回 x 和 y 之间的月份数。
例如:可以使用 MONTHS_BETWEEN() 和参数 SYSDATE 以及员工加入日期来找到员工在公司工作了多少个月数。
SELECT MONTHS_BETWEEN (SYSDATE, EMP_JOIN_DATE) FROM EMP;
假设员工加入日期为 2018 年 1 月 1 日,系统日期为 2018 年 8 月 1 日。因此以上函数将返回 7。
ADD_MONTHS(d,n)
此函数返回与 d 相同天的日期,与 n 相差几个月。n 的值可以为正数或负数。例如
SELECT SYSDATE, ADD_MONTHS (SYSDATE,2) FROM DUAL;
此函数将返回系统日期和系统日期后 2 个月的日期,即“2018-08-01”和“2018-10-01”。
LAST_DAY(d)
此函数返回函数中提供的特定月份 d 的该月的最后一天。例如
SELECT SYSDATE, LAST_DAY (SYSDATE) FROM DUAL;
它返回系统日期和系统日期的特定月份的最后一天,即“2018-08-01”和“2018-08-31”。