Oracle数据库基础教程:常用函数与日期操作

需积分: 0 4 下载量 16 浏览量 更新于2024-08-01 收藏 224KB DOC 举报
"Oracle数据库基础教程,适合初学者学习Oracle数据库,包括常用函数、日期处理等基础知识。" 在Oracle数据库中,掌握一些基本的函数和日期处理技巧是至关重要的。这里我们探讨了几个常用的函数和日期操作,对于Oracle数据库的学习者来说,这些都是必须了解的基础知识。 1. **substr函数**: - `substr` 函数用于从字符串中提取子串。第一个参数是原始字符串,第二个参数是起始位置(从1开始),第三个参数是子串的长度。例如: - `SELECT substr('teach', 0, 3) FROM DUAL` 返回 'tea',表示从'teach'的第0个字符开始取3个字符。 - `SELECT substr('teach', 3, 3) FROM DUAL` 返回 'ach',表示从'teach'的第3个字符开始取3个字符。 2. **Lpad/Rpad函数**: - `Lpad` 和 `Rpad` 函数用于在字符串的左侧或右侧填充字符,以达到指定的长度。第一个参数是原始字符串,第二个参数是目标长度,第三个参数是填充字符。例如: - `SELECT LPAD('TEACH', 4) FROM DUAL` 返回 'teac',将'TEACH'左填充到4个字符长度。 - `SELECT LPAD('TEACH', 10, '5') FROM DUAL` 返回 '55555TEACH',将'TEACH'左填充到10个字符长度,用'5'填充。 3. **日期函数**: - Oracle提供了丰富的日期处理函数,相比SQL Server的`dateadd`和`datediff`更为灵活。 - **获取当前日期**:在SQL Server中,可以使用`getdate()`,而在Oracle中,使用`sysdate`。 - **日期加减**:Oracle和SQL Server都支持直接与整数相加减来计算日期。 - **格式化日期**:Oracle中的`trunc`函数截取日期,`to_char`函数将日期转换为字符串。例如: - `SELECT trunc(sysdate) value FROM dual` 返回当前日期的开始时刻。 - `SELECT to_char(sysdate, 'yyyy-mm-dd') value FROM dual` 将日期转换为'年-月-日'格式。 - `SELECT to_char(sysdate, 'hh24:mm:ss') value FROM dual` 显示24小时制的时间。 4. **日期部分提取**: - SQL Server 使用 `DATEPART` 和 `DATENAME` 函数,而Oracle使用 `to_char` 函数的第二个参数来提取日期的各个部分。 5. **当月最后一天**: - SQL Server 的实现较复杂,Oracle则简单地使用 `LAST_DAY` 函数,如 `SELECT LAST_DAY(sysdate) value FROM dual`。 6. **本星期的某一天**: - SQL Server 需要借助 `week` 函数,而Oracle使用 `next_day` 函数,例如 `SELECT Next_day(sysdate, 7) value FROM DUAL` 获取本周日。 7. **字符串转时间**: - Oracle 使用 `to_date` 函数将字符串转换为日期,如 `SELECT To_date('2008-01-05 22:09:3')`。 通过这些基本函数和日期处理的了解,初学者可以更好地理解和操作Oracle数据库中的数据。随着经验的积累,还会涉及到更复杂的查询、事务处理、索引优化、存储过程等高级主题。对于任何Oracle数据库管理员或开发者来说,这些基础知识都是必不可少的。