2.3.4 PL/SQL中的函数
SQL*PLUS提供用于执行特定操作的特定函数。函数可以接受一个或多个参数,并返回一个值。Oracle大体上将函数分为单行函数和分组函数,下面将详细讲解。
1. 日期函数
SQL*PLUS日期函数产生具有date数据类型的输出结果,但返回数字的months_between日期函数除外。
SQL*PLUS日期函数包括Add_months(d,n)、Last_day(d)、Months_between(d1,d2)、Round(d,[fmt])、Next_day(d,day)、Truncate(d,[fnt])、Greatest和New_time(date,'this','other')等,具体信息如表2-13所示。
表2-13 SQL*PLUS日期函数
|
函 数 名 称 |
解 释 |
|
Add_months(d,n) |
Add_months日期函数在对指定的日期增加指定的月数后返回一个日期 |
|
Last_day(d) |
返回月末最后一天相应的日期 |
|
Months_between(d1,d2) |
返回两个日期之间的月份 |
|
Round(d,[fmt]) |
此函数返回日期,并且此日期舍入到格式模型所指定的单位 |
|
Next_day(d,day) |
返回d和day指定的日期 |
|
Truncate(d,[fnt]) |
此函数返回日期,其时间部分截断为格式模型所指定的单位 |
|
Greatest |
此函返回参数列表中的最晚日期 |
|
New_time(date,'this','other') |
此函数显示日期列或日期常数在其他时区的时间和日期 |
2. 字符函数
Oracle支持的字符函数如表2-14所示。
表2-14 Oracle中的字符函数
|
函 数 |
输 入 |
输 出 |
|
Lower(char) |
SELECT lower('FUN') from dual |
fun |
|
Upper(char) |
SELECT upper('fun') from dual |
FUN |
|
Ltrim(char,set) |
SELECT ltrim('abcdefg','abc') from dual |
Defg |
|
Rtrim(char,set) |
SELECTrtrim('abcdefg','efg') from dual |
Abcd |
|
Tanslate(char,from,to) |
SELECT translate('how do you do','h','s') from dual |
Sow do you do |
|
Instr(char,m,n) |
SELECT instr('worldwide','d') from dual |
5 |
|
Substr(char,m,n) |
SELECT substr('abcdefg',4,2) from dual |
De |
|
Concat(expr1,expr2) |
SELECT concat('Hello','world')from dual |
Hello world |
注意:
Trim函数合并了Ltrim函数和Rtrim函数的功能。
3. 数字函数
这里只选择几个数字函数做出解释。具体内容如表2-15所示。
表2-15 数 字 函 数
|
函 数 |
解 释 |
实 例 |
|
Abs |
返回绝对值 |
SELECT ABS(-10) from dual=10 |
|
Power(m,n) |
返回m的n次方 |
SELECT power(4,2) from dual=16 |
|
Mod(m.n) |
返回m除以n后的余数 |
SELECT mod(10,3) from dual=1 |
|
Sign |
返回值的符号,无论值的大小 |
SELECT sign(-32) from dual=–1 |
4. 分组函数
Oracle中的分组函数有AVG、MIN、MAX、SUM、COUNT等,用法与SQL Server中相同,这里就不再赘述。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||