Oracle数据库作为全球领先的关系型数据库管理系统,提供了丰富的内置函数,这些函数涵盖了字符串操作、数学计算、日期时间处理、条件判断、序列生成、聚合统计等多个方面。掌握这些函数,可以帮助我们更高效地完成数据库操作。以下是Oracle数据库函数大全的详细介绍。
一、字符串函数
1.1 字符串连接函数
CONCAT(str1, str2, ..., strn):将多个字符串连接成一个字符串。
SELECT CONCAT('Hello', ' ', 'World') FROM dual;
1.2 字符串截取函数
SUBSTR(str, start, length):从字符串中截取指定长度的子字符串。
SELECT SUBSTR('Oracle Database', 1, 10) FROM dual;
1.3 字符串替换函数
REPLACE(str, old_str, new_str):将字符串中的旧字符串替换为新字符串。
SELECT REPLACE('Oracle Database', 'Database', 'DB') FROM dual;
1.4 字符串大小写转换函数
UPPER(str):将字符串转换为大写。LOWER(str):将字符串转换为小写。INITCAP(str):将字符串的首字母转换为大写。
SELECT UPPER('oracle database'), LOWER('ORACLE DATABASE'), INITCAP('oracle database') FROM dual;
二、数学函数
2.1 四舍五入函数
ROUND(num, dec):将数字四舍五入到指定的小数位数。
SELECT ROUND(123.456, 2) FROM dual;
2.2 数值截取函数
FLOOR(num):向下取整。CEIL(num):向上取整。
SELECT FLOOR(123.456), CEIL(123.456) FROM dual;
2.3 取余函数
MOD(num1, num2):返回两个数的余数。
SELECT MOD(10, 3) FROM dual;
三、日期时间函数
3.1 日期格式化函数
TO_CHAR(date, 'format'):将日期转换为字符串,并按照指定的格式进行格式化。
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM dual;
3.2 日期计算函数
ADD_MONTHS(date, num):在指定日期上添加或减去指定月份数。MONTHS_BETWEEN(date1, date2):计算两个日期之间的月数差。
SELECT ADD_MONTHS(SYSDATE, 3), MONTHS_BETWEEN(SYSDATE, '01-JAN-2020') FROM dual;
3.3 日期比较函数
SYSDATE:获取当前日期和时间。TRUNC(date, 'level'):将日期截断到指定的精度。
SELECT SYSDATE, TRUNC(SYSDATE, 'DD') FROM dual;
四、聚合函数
4.1 统计记录数
COUNT(column):计算指定列的记录数。
SELECT COUNT(*) FROM employees;
4.2 求和函数
SUM(column):计算指定列的总和。
SELECT SUM(salary) FROM employees;
4.3 最大值查询
MAX(column):查询指定列的最大值。
SELECT MAX(salary) FROM employees;
4.4 最小值查询
MIN(column):查询指定列的最小值。
SELECT MIN(salary) FROM employees;
4.5 查询平均值
AVG(column):查询指定列的平均值。
SELECT AVG(salary) FROM employees;
五、条件判断函数
5.1 NVL函数
NVL(value1, value2):如果value1为NULL,则返回value2,否则返回value1。
SELECT NVL(null, 'default') FROM dual;
5.2 CASE WHEN THEN函数
CASE when condition1 then result1 when condition2 then result2 ... else resultn end:根据条件返回不同的结果。
SELECT CASE
WHEN salary > 10000 THEN 'High'
WHEN salary BETWEEN 5000 AND 10000 THEN 'Medium'
ELSE 'Low'
END AS salary_level
FROM employees;
5.3 DECODE函数
DECODE(value1, value2, result1, value3, result2, ..., default):根据条件返回不同的结果。
SELECT DECODE(salary, 10000, 'High', 5000, 'Medium', 'Low') AS salary_level
FROM employees;
通过以上介绍,相信你已经对Oracle数据库函数有了更深入的了解。熟练掌握这些函数,将有助于你在数据库操作中更加高效地完成任务。