Oracle常用SQL函数详解:实例与应用场景

需积分: 3 2 下载量 184 浏览量 更新于2024-09-14 收藏 59KB DOC 举报
Oracle数据库是一种广泛使用的商业关系型数据库管理系统,其中包含了丰富的内置函数,这些函数在日常的数据处理和查询中起着关键作用。本文主要介绍Oracle中常用的一些函数类别,包括字符函数、数字函数、日期函数以及转换函数。 1. **字符函数** - `LOWER`函数:用于将输入的字符串全部转换为小写,如`LOWER('SQLCourse')`将返回`sqlcourse`。 - `UPPER`函数:与`LOWER`相反,将所有字符转换为大写,如`UPPER('SQLCourse')`得到`SQLCOURSE`。 - `INITCAP`函数:用于将每个单词的首字母大写,如`INITCAP('sqlcourse')`结果为`SqlCourse`。 - `CONCAT`函数:用于拼接两个或多个字符串,如`CONCAT('Good','String')`合成为`GoodString`。 - `SUBSTR`函数:提取字符串的一部分,如`SUBSTR('String',1,3)`获取从位置1开始的前3个字符。 2. **数字函数** - `ROUND`函数:对数值进行四舍五入操作,例如`ROUND(45.923,2)`返回`45.92`,`ROUND(45.923,0)`为`46`,`ROUND(45.923,-1)`为`50`。 - `TRUNC`函数:截断数字,可指定保留的小数位数,`TRUNC(45.923,2)`保留两位小数为`45.92`,`TRUNC(45.923)`取整数部分为`45`,`TRUNC(45.923,-1)`向下舍入到最近的10的倍数为`40`。 - `MOD`函数:计算两个数相除的余数,如`MOD(1600,300)`的结果是`100`。 3. **日期函数** - Oracle存储日期时采用七字节的内部格式,包括世纪、年、月、日、时、分、秒。 - 默认日期格式为`DD-MON-YY`,但可以使用`SYSDATE`获取当前系统时间,如查看`SYSDATE`可利用虚拟表`DUAL`。 - 日期函数如`MONTHS_BETWEEN`计算两个日期之间的月份数,如`MONTHS_BETWEEN('01-SEP-95','11-JAN-94')`返回`1.9774194`。 - `ADD_MONTHS`用于在给定日期上增加指定的月数,如`ADD_MONTHS('11-JAN-94',6)`得出`'11-JUL-94'`。 - `NEXT_DAY`返回指定日期之后的第一个指定星期几,如`NEXT_DAY('01-SEP-95','FRIDAY')`为`'08-SEP-95'`。 - `LAST_DAY`返回指定月份的最后一天,如`LAST_DAY('01-SEP-95')`得到`'30-SEP-95'`。 - `ROUND`和`TRUNC`在日期上也有对应版本,分别按月和年进行四舍五入或截断。 4. **转换函数** - `TO_CHAR`用于将数字或日期转换为字符串,例如`TO_CHAR(123456, 'YYYY-MM-DD HH24:MI:SS')`格式化输出日期。 - `TO_NUMBER`将字符串转换为数字类型,如将用户输入的文本转换为数值。 - `TO_DATE`用于将字符串转换为日期类型,确保字符串格式正确才能成功转换。 掌握这些函数对于在Oracle环境中高效地处理数据和执行复杂的查询至关重要。熟练运用它们可以简化复杂任务,提高数据库操作的准确性和效率。同时,理解每种函数的参数和行为有助于编写出更易维护和优化的SQL查询。