oracle查询函数(oracle查询函数结果与表数据组合)

## Oracle 查询函数

简介

Oracle 数据库提供了丰富的内置函数,可以简化数据查询和操作。这些函数可以用于执行各种任务,例如字符串处理、数值计算、日期操作、数据类型转换以及聚合计算等。 熟练掌握这些函数,可以编写更高效、更简洁的 SQL 查询语句。### 单行函数单行函数对每一行输入数据返回一个结果。它们可以嵌套使用,并且可以用于 `SELECT`、`WHERE`、`HAVING` 和 `ORDER BY` 子句中。#### 字符函数

`CONCAT(str1, str2)`:

连接两个字符串。等同于 `||` 操作符。

`SUBSTR(string, start, length)`:

从指定位置 `start` 开始,截取长度为 `length` 的子字符串。

`LENGTH(string)`:

返回字符串的长度。

`INSTR(string, substring)`:

返回子字符串 `substring` 在字符串 `string` 中第一次出现的位置。

`REPLACE(string, search_string, replacement_string)`:

将字符串 `string` 中所有出现的 `search_string` 替换为 `replacement_string`。

`UPPER(string)`:

将字符串转换为大写。

`LOWER(string)`:

将字符串转换为小写。

`TRIM(leading | trailing | both trim_character FROM string)`:

去除字符串开头、结尾或两端的指定字符。

`LPAD(string, length, pad_string)`:

在字符串左侧填充指定字符 `pad_string`,使其达到指定的长度 `length`。

`RPAD(string, length, pad_string)`:

在字符串右侧填充指定字符 `pad_string`,使其达到指定的长度 `length`。#### 数值函数

`ROUND(number, decimal_places)`:

将数值四舍五入到指定的小数位数。

`TRUNC(number, decimal_places)`:

将数值截断到指定的小数位数。

`MOD(m, n)`:

返回 `m` 除以 `n` 的余数。

`ABS(number)`:

返回数值的绝对值。

`POWER(m, n)`:

返回 `m` 的 `n` 次方。

`SQRT(number)`:

返回数值的平方根。#### 日期函数

`SYSDATE`:

返回当前日期和时间。

`ADD_MONTHS(date, number_of_months)`:

将日期加上指定的月份数。

`MONTHS_BETWEEN(date1, date2)`:

返回两个日期之间的月份数。

`NEXT_DAY(date, day_of_week)`:

返回指定日期之后的下一个指定星期几的日期。

`LAST_DAY(date)`:

返回指定月份的最后一天。

`TRUNC(date, format)`:

将日期截断到指定的精度 (例如 'YYYY', 'MM', 'DD')。#### 转换函数

`TO_CHAR(date, format)`:

将日期转换为指定格式的字符串。

`TO_DATE(string, format)`:

将字符串转换为指定格式的日期。

`TO_NUMBER(string)`:

将字符串转换为数字。#### 其他常用函数

`NVL(expr1, expr2)`:

如果 `expr1` 为 NULL,则返回 `expr2`;否则返回 `expr1`。

`COALESCE(expr1, expr2, ...)`:

返回第一个非 NULL 的表达式。

`CASE expr WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE result_else END`:

根据表达式的值返回不同的结果。

`DECODE(expr, value1, result1, value2, result2, ..., default_result)`:

类似于 `CASE` 表达式,但更简洁。### 聚合函数聚合函数对多行数据进行计算并返回单个结果。它们通常用于 `SELECT` 子句中,并与 `GROUP BY` 子句一起使用。

`COUNT(

)`:

返回行数。

`COUNT(expression)`:

返回非 NULL 值的行数。

`SUM(expression)`:

返回数值的总和。

`AVG(expression)`:

返回数值的平均值。

`MAX(expression)`:

返回最大值。

`MIN(expression)`:

返回最小值。### 分析函数分析函数计算多行数据并为每行返回一个结果。它们通常用于 `SELECT` 子句中,并带有 `OVER` 子句。 这部分内容较为复杂,可以单独深入学习。

总结:

Oracle 提供了大量的内置函数,可以极大地提高 SQL 查询的效率和灵活性。 本文只是列举了部分常用函数,建议参考官方文档了解更多函数的用法和示例。 通过不断实践和探索,才能更好地掌握 Oracle 查询函数的强大功能。

Oracle 查询函数**简介**Oracle 数据库提供了丰富的内置函数,可以简化数据查询和操作。这些函数可以用于执行各种任务,例如字符串处理、数值计算、日期操作、数据类型转换以及聚合计算等。 熟练掌握这些函数,可以编写更高效、更简洁的 SQL 查询语句。

单行函数单行函数对每一行输入数据返回一个结果。它们可以嵌套使用,并且可以用于 `SELECT`、`WHERE`、`HAVING` 和 `ORDER BY` 子句中。

字符函数* **`CONCAT(str1, str2)`:** 连接两个字符串。等同于 `||` 操作符。 * **`SUBSTR(string, start, length)`:** 从指定位置 `start` 开始,截取长度为 `length` 的子字符串。 * **`LENGTH(string)`:** 返回字符串的长度。 * **`INSTR(string, substring)`:** 返回子字符串 `substring` 在字符串 `string` 中第一次出现的位置。 * **`REPLACE(string, search_string, replacement_string)`:** 将字符串 `string` 中所有出现的 `search_string` 替换为 `replacement_string`。 * **`UPPER(string)`:** 将字符串转换为大写。 * **`LOWER(string)`:** 将字符串转换为小写。 * **`TRIM(leading | trailing | both trim_character FROM string)`:** 去除字符串开头、结尾或两端的指定字符。 * **`LPAD(string, length, pad_string)`:** 在字符串左侧填充指定字符 `pad_string`,使其达到指定的长度 `length`。 * **`RPAD(string, length, pad_string)`:** 在字符串右侧填充指定字符 `pad_string`,使其达到指定的长度 `length`。

数值函数* **`ROUND(number, decimal_places)`:** 将数值四舍五入到指定的小数位数。 * **`TRUNC(number, decimal_places)`:** 将数值截断到指定的小数位数。 * **`MOD(m, n)`:** 返回 `m` 除以 `n` 的余数。 * **`ABS(number)`:** 返回数值的绝对值。 * **`POWER(m, n)`:** 返回 `m` 的 `n` 次方。 * **`SQRT(number)`:** 返回数值的平方根。

日期函数* **`SYSDATE`:** 返回当前日期和时间。 * **`ADD_MONTHS(date, number_of_months)`:** 将日期加上指定的月份数。 * **`MONTHS_BETWEEN(date1, date2)`:** 返回两个日期之间的月份数。 * **`NEXT_DAY(date, day_of_week)`:** 返回指定日期之后的下一个指定星期几的日期。 * **`LAST_DAY(date)`:** 返回指定月份的最后一天。 * **`TRUNC(date, format)`:** 将日期截断到指定的精度 (例如 'YYYY', 'MM', 'DD')。

转换函数* **`TO_CHAR(date, format)`:** 将日期转换为指定格式的字符串。 * **`TO_DATE(string, format)`:** 将字符串转换为指定格式的日期。 * **`TO_NUMBER(string)`:** 将字符串转换为数字。

其他常用函数* **`NVL(expr1, expr2)`:** 如果 `expr1` 为 NULL,则返回 `expr2`;否则返回 `expr1`。 * **`COALESCE(expr1, expr2, ...)`:** 返回第一个非 NULL 的表达式。 * **`CASE expr WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE result_else END`:** 根据表达式的值返回不同的结果。 * **`DECODE(expr, value1, result1, value2, result2, ..., default_result)`:** 类似于 `CASE` 表达式,但更简洁。

聚合函数聚合函数对多行数据进行计算并返回单个结果。它们通常用于 `SELECT` 子句中,并与 `GROUP BY` 子句一起使用。* **`COUNT(*)`:** 返回行数。 * **`COUNT(expression)`:** 返回非 NULL 值的行数。 * **`SUM(expression)`:** 返回数值的总和。 * **`AVG(expression)`:** 返回数值的平均值。 * **`MAX(expression)`:** 返回最大值。 * **`MIN(expression)`:** 返回最小值。

分析函数分析函数计算多行数据并为每行返回一个结果。它们通常用于 `SELECT` 子句中,并带有 `OVER` 子句。 这部分内容较为复杂,可以单独深入学习。**总结:**Oracle 提供了大量的内置函数,可以极大地提高 SQL 查询的效率和灵活性。 本文只是列举了部分常用函数,建议参考官方文档了解更多函数的用法和示例。 通过不断实践和探索,才能更好地掌握 Oracle 查询函数的强大功能。

Powered By Z-BlogPHP 1.7.2

备案号:蜀ICP备2023005218号