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”

长度(str)

该函数返回字符串str的长度(以字节为单位)。例如:

SQL> SELECT LENGTH('happy');
+---------------------------------------------------------+
| LENGTH('happy') |
+---------------------------------------------------------+
| 5 |
+---------------------------------------------------------+
1 row in set (0.00 sec)

返回字符串“ happy”的长度,以字节为单位,即5。

降低(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”相同。

上(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。

签名(X)

如果X为正,则返回1;如果为负,则返回-1;如果X的值为0,则返回0。例如:

SELECT SIGN(-20);

返回-1。

楼层(X)

这将返回小于或等于X的最大整数值。例如:

SELECT FLOOR(8.3);

返回8。

CEIL(X)

这将返回大于或等于X的最小整数值。例如-

SELECT CEIL(8.3);

返回9。

幂(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年8月1日”和“ 2018年10月1日”。

LAST_DAY(d)

此函数返回函数中提供的特定月份d的月份的最后一天。例如:

SELECT SYSDATE, LAST_DAY (SYSDATE)
FROM DUAL;

这将返回系统日期和该系统日期的特定月份的最后一天,即“ 2018年8月1日”和“ 2018年8月31日”。