oracle pl/sql函数几个要点

本文介绍PL/SQL中的日期运算、分组统计规则、字符串处理等实用技巧,并涵盖空值处理、序列号创建与类型转换等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.日期运算及函数
总体说来,pl/sql 的日期操作没有 t-sql的日期操作来得爽。oracle默认的日期格式是dd MM RR
A。日期可以直接相加减,格式:
日期 +/- 天数 = 日期 (可以把时间除以24就得天数来运算)
日期 +/- 日期 = 天数 (除365就得出“年”,即几岁了)
B.对于月的运算,提供了运算函数:
months_between
add_months
C.对于天的推测,提供了运算函数:
last_day
next_day

D.对于日期使用round与trunc函数


2.分组统计sql语句规则
总规则:在使用统计函数的sql里,除统计函数里的所有字段,必须都出现在group by 子句中,
而group by 子句中的字段,不必在select中出现

A.where 子句中不能出现统计函数语句(不能对它受限);

B.having语句专用来对统计函数语句定义的别名字段受限;


3.字符串函数

A.round 与trunk的区别:round是四舍五入,而trunk只是截取;

B.instr,replace,substr

4.null值的处理
总则:pl/sql最麻烦的就是null的处理,在语句中,只要有一个地方出了null,整个语句的结果就是null,
null 不可比较,不能=或者<>,只能用is null来判断。
A.nvl专门用来处理null,聪明的程序员,在凡是可能出现nvl的地方都加个nvl,来提供null的替代值;

B.isnull是新增的函数,还有case ... when .... then ....end .,还有几个9中新增的函数


5.序列号
create sequence dog;
有属性:maxvalue,minvalue,startvalue,increatement,loop
nextval 取得下一个值
currval 取得当前值 (必须当前先有nextval还能用currval)
当修改sequence时, startvalue是不能修改的,修改的只是能新的record起作用。旧的不变。


6.类型转换:主要有 to_char,to_number,to_date


7.特殊函数:
decode:实现了if elsif end if的功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值