Oracle常用函数与运算符详解

5星 · 超过95%的资源 需积分: 1 20 下载量 185 浏览量 更新于2024-09-09 1 收藏 27KB DOCX 举报
"Oracle常用函数汇总大全,涵盖了算术、连接、比较、逻辑及集合运算符,以及日期时间函数的详尽介绍,适用于日常数据库操作和查询。" Oracle数据库是全球广泛使用的数据库管理系统,其中包含了丰富的函数和运算符用于处理各种数据操作。以下是Oracle中的常用函数和运算符的详细说明: 一、运算符 1. **算术运算符**:`+`、`-`、`*`、`/` 这些运算符用于进行数学计算,例如在`SELECT`语句中计算字段的和、差、积或商。 2. **连接运算符**:`||` 用于字符串的拼接,例如 `SELECT deptno || dname FROM dept;` 将部门编号和部门名称连接在一起。 3. **比较运算符**:`=`, `!=`, `<`, `>`, `<=`, `>=` 用于比较操作;`LIKE` 用于模式匹配;`BETWEEN` 用于指定范围;`IS NULL` 检查是否为空。 4. **逻辑运算符**:`NOT`, `AND`, `OR` 用于逻辑判断,例如 `WHERE NOT (A AND B)` 或 `WHERE A OR B`。 5. **集合运算符**:`INTERSECT` 取两个查询结果的交集,`UNION` 取并集(去除重复行),`UNION ALL` 取并集(包含所有行,包括重复行),`MINUS` 取差集。使用集合运算时,应注意列数和数据类型需一致,且不能包含`LONG`列。列标签遵循第一个集合的标签,使用`ORDER BY`时只能用位置序号。 示例: ```sql -- 集合运算符的使用 SELECT * FROM emp INTERSECT SELECT * FROM emp WHERE deptno = 10; SELECT * FROM emp MINUS SELECT * FROM emp WHERE deptno = 10; SELECT * FROM emp WHERE deptno = 10 UNION SELECT * FROM emp WHERE deptno IN (10, 20); -- 不包括重复行 SELECT * FROM emp WHERE deptno = 10 UNION ALL SELECT * FROM emp WHERE deptno IN (10, 20); -- 包括重复行 ``` 二、Oracle日期时间函数大全 Oracle提供了多种日期时间函数来处理和格式化日期和时间值: 1. **TO_DATE** 函数:用于将字符串转换为日期,如 `TO_DATE('2007-11-02 13:45:25', 'YYYY-MM-DD HH24:MI:SS')`。 - 年份格式:`yy`(两位年)、`yyy`(三位年)、`yyyy`(四位年)。 - 月份:`mm`(两位月)、`mon`(缩写)、`month`(完整名称)。 - 日:`dd`(两位日)、`ddd`(当年第几天)、`dy`(缩写)、`day`(完整名称)。 - 小时:`hh24`(24小时制)。 - 分钟和秒也有相应的格式。 2. 其他日期时间函数: - `SYSDATE` 返回当前系统日期和时间。 - `ADD_MONTHS(date, months)` 在给定日期上增加指定月数。 - `TRUNC(date, format)` 截断日期到指定精度,如天、月或年。 - `EXTRACT(unit FROM date)` 提取日期时间的特定部分,如年、月、日、小时等。 - `MONTHS_BETWEEN(date1, date2)` 计算两个日期之间的月数差。 - `NEXT_DAY(date, day_of_week)` 找到给定日期后的下一个指定星期几。 - `LAST_DAY(date)` 返回给定日期所在月份的最后一天。 通过掌握这些函数和运算符,你可以更高效地进行Oracle数据库的操作和查询,解决日常的数据处理问题。