在Oracle数据库中,使用默认函数对列进行操作是常见的需求,这些函数通常用于查询、插入或更新数据时对特定的列进行处理,以下是一些常用的默认函数及其使用方法:
1、聚合函数
AVG
: 计算某列的平均值。
COUNT
: 计算某列中非空值的数量。
MIN
: 返回某列中的最小值。
MAX
: 返回某列中的最大值。
SUM
: 计算某列值的总和。
2、字符串函数
CONCAT
: 连接两个或多个字符串。
SUBSTR
: 返回字符串的子串。
LENGTH
: 返回字符串的长度。
LOWER
/ UPPER
: 将字符串转换为小写或大写。
TRIM
: 去除字符串两端的空格。
3、日期函数
SYSDATE
: 返回当前系统日期和时间。
MONTHS_BETWEEN
: 计算两个日期之间的月数差。
ADD_MONTHS
: 给日期添加指定的月份数。
ROUND
: 对日期或数字进行四舍五入。
4、数值函数
ABS
: 返回数字的绝对值。
CEIL
/ FLOOR
: 返回大于或等于(小于或等于)给定数字的最小(最大)整数。
MOD
: 返回两个数相除后的余数。
POWER
: 返回某个数的指定次幂。
5、转换函数
TO_CHAR
: 将日期或数字转换为字符串。
TO_DATE
: 将字符串转换为日期。
TO_NUMBER
: 将字符串转换为数字。
6、条件函数
NVL
: 如果第一个参数为NULL,则返回第二个参数的值。
NVL2
: 如果第一个参数不为NULL,则返回第二个参数的值;否则返回第三个参数的值。
COALESCE
: 返回第一个非NULL参数的值。
7、分析函数
ROW_NUMBER
: 为结果集中的每一行分配一个唯一的数字。
RANK
: 为结果集中的行分配排名,相同值会有相同的排名。
DENSE_RANK
: 为结果集中的行分配排名,相同值会有相同的排名,但不会留下排名间隙。
示例
假设我们有一个员工表employees
,包含列salary
(薪水)和hire_date
(雇佣日期),以下是一些使用默认函数的示例:
计算平均薪水:
SELECT AVG(salary) FROM employees;
找出最高和最低薪水:
SELECT MAX(salary), MIN(salary) FROM employees;
计算工龄:
SELECT employee_id, hire_date, ROUND(MONTHS_BETWEEN(SYSDATE, hire_date)/12) AS years_of_service FROM employees;
将薪水转换为字符串并添加美元符号:
SELECT employee_id, TO_CHAR(salary, '$9,999.00') AS salary_str FROM employees;
使用条件函数处理NULL值:
SELECT employee_id, NVL(commission_pct, 0) AS commission_pct FROM employees;
相关问题与解答
问题1: 如何在Oracle中使用LIKE
操作符进行模式匹配?
答: 在Oracle中,可以使用LIKE
操作符结合通配符进行模式匹配,要查找所有以"J"开头的员工名字,可以使用以下查询:
SELECT employee_name FROM employees WHERE employee_name LIKE 'J%';
问题2: 如何在一个查询中使用多个聚合函数?
答: 可以在一个查询中的SELECT
子句中使用多个聚合函数,但需要确保它们作用在不同的列上,要计算平均薪水和总薪水,可以这样写:
SELECT AVG(salary), SUM(salary) FROM employees;
如果需要对同一列应用多个聚合函数,可以将每个聚合函数放在不同的子查询中,然后将这些子查询结合起来。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/406822.html