根据提供的信息,我们可以总结出以下关于Oracle函数及操作的关键知识点: ### 一、表操作 #### 1. 创建表 - 使用 `CREATE TABLE` 语句可以创建一个新的表。 - **从已知表复制数据和结构**: ```sql CREATE TABLE test AS SELECT * FROM dept; ``` - **从已知表复制结构但不包括数据**: ```sql CREATE TABLE test AS SELECT * FROM dept WHERE 1 = 2; ``` #### 2. 插入数据 - 使用 `INSERT INTO` 语句可以向表中插入数据。 - **从一个表复制所有数据到另一个表**: ```sql INSERT INTO test SELECT * FROM dept; ``` ### 二、运算符 #### 1. 算术运算符 - `+`, `-`, `*`, `/` 可以在 `SELECT` 语句中使用。 #### 2. 连接运算符 - `||` 用于连接两个字符串。 - 示例: ```sql SELECT deptno || dname FROM dept; ``` #### 3. 比较运算符 - `=`, `!=`, `<`, `>`, `<=`, `>=`, `LIKE`, `BETWEEN`, `IS NULL`, `IN` - 示例: ```sql SELECT * FROM emp WHERE deptno = 10; ``` #### 4. 逻辑运算符 - `NOT`, `AND`, `OR` #### 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函数 #### 1. 日期函数 - **重点掌握前四个日期函数** - **ADD_MONTHS**: 返回日期加(减)指定月份后的日期。 ```sql SELECT sysdate S1, ADD_MONTHS(sysdate, 10) S2, ADD_MONTHS(sysdate, -5) S3 FROM dual; ``` - **LAST_DAY**: 返回该月最后一天的日期。 ```sql SELECT LAST_DAY(sysdate) FROM dual; ``` - **MONTHS_BETWEEN**: 返回两个日期之间的月份数。 ```sql SELECT sysdate S1, MONTHS_BETWEEN('2004-04-01', sysdate) S2, MONTHS_BETWEEN('2004-04-01', '2004-02-01') S3 FROM dual; ``` - **NEXT_DAY**: 返回下一个指定星期的日期。 ```sql SELECT sysdate S1, NEXT_DAY(sysdate, 1) S2, NEXT_DAY(sysdate, '星期日') S3 FROM dual; ``` - **ROUND**: 舍入到最接近的日期。 ```sql SELECT sysdate S1, ROUND(sysdate) S2, ROUND(sysdate, 'YEAR') YEAR, ROUND(sysdate, 'MONTH') MONTH, ROUND(sysdate, 'DAY') DAY FROM dual; ``` - **TRUNC**: 截断到最接近的日期。 ```sql SELECT sysdate S1, TRUNC(sysdate) S2, TRUNC(sysdate, 'YEAR') YEAR, TRUNC(sysdate, 'MONTH') MONTH, TRUNC(sysdate, 'DAY') DAY FROM dual; ``` - **GREATEST**: 返回日期列表中最晚的日期。 ```sql SELECT GREATEST('2004-01-01', '2004-01-04', '2004-02-10') FROM dual; ``` #### 2. 字符函数 - **SUBSTR**: 字符串截取。 ```sql SELECT SUBSTR('abcdef', 1, 3) FROM dual; ``` - **INSTR**: 查找子串位置。 ```sql SELECT INSTR('abcfdgfdhd', 'fd') FROM dual; ``` - **字符串连接**: `||`。 ```sql SELECT 'HELLO' || 'hello world' FROM dual; ``` - **去除字符串中的空格**: ```sql SELECT LTRIM(' abc ') S1, RTRIM(' zhang ') S2, TRIM(' zhang ') S3 FROM dual; ``` ```sql SELECT TRIM(LEADING '9' FROM '9998767999') S1, TRIM(TRAILING '9' FROM '9998767999') S2, TRIM('9' FROM '9998767999') S3 FROM dual; ``` - **ASCII值**: `ASCII` 和 `CHR`。 ```sql SELECT ASCII('a') FROM dual; SELECT CHR(97) FROM dual; ``` 以上内容覆盖了Oracle中基本的表操作、运算符以及常用函数的使用方法,包括日期函数和字符函数的详细介绍。这些知识点对于学习和使用Oracle数据库都是非常基础且重要的。
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助