设为首页 收藏本站
查看: 601|回复: 0

[经验分享] Pl/sql 函数总结

[复制链接]

尚未签到

发表于 2016-11-12 06:06:47 | 显示全部楼层 |阅读模式
NVL(x1,x2) :用于出来null的函数,当x1为null时返回X2,否则返回x1;

例:select nvl(null,0) from dual;  ---返回结果 0



ASCII(c1) :c1是一字符串,返回c1第一个字母的ASCII码,他的逆函数是CHR(c1);

例:SELECT ASCII('A') FROM dual;  ---返回结果 65



CHR(i) :i是一个数字,函数返回十进制表示的字符;

例: SELECT  CHR(78)  FROM dual;  ---返回结果 N



CONCAT(c1,c2) :c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符||返回的结果相同;

例:select concat('aa','bb') from dual;  ---返回结果 aabb

INITCAP(c1) :c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号限制。

例:select INITCAP('fu,benjie') Ceasar from dual; ---返回结果 Fu,benjie



INSTR(c1,c2,i,j) :c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.

例:select INSTR('Oracle_Server','e',3,3) from dual; ---返回结果 12



LENGTH(c1) :c1为字符串,返回c1的长度,如果c1为null,那么将返回null值。

例:select LENGTH('maximo server') ergo from dual;  ---返回结果 13



lower(c) :返回c的小写字符,经常出现在where子串中.

例:select LOWER(lottype) from item; ---返回结果nolot



UPPER(c) :返回c的大写字符,经常出现在where子串中.

LPAD(c1,i,c2) :c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,参见RPAD。

例1:select lpad('softwhere',3,'c') from dual; ---返回结果 sof

例2:select lpad('softwhere',13,'c') from dual; ---返回结果ccccsoftwhere



LPAD(c1,i,c2) :在c1的右侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,其他与LPAD相似



LTRIM(c1,c2) :把c1中最左边的字符去掉,使其第一个字符不在c2中,如果没有c2,那么c1就不会改.

例1:select LTRIM('Mississippi','Mis') from dual;  -- 返回 ppi

例2:select LTRIM('Mississippi','mis') from dual;  -- 返回Mississippi



RTRIM(c1,c2) :把c1中最右边的字符去掉,使其第后一个字符不在c2中,如果没有c2,那么c1就不会改变。

REPLACE(,[,]) :c1,c2,c3都是字符串,函数用c3代替出现在c1中的c2,如果没有返回c1.

例:select REPLACE('uptown','up','down') from dual; --返回结果downtown



STBSTR(c1,i,j) :c1为一字符串,i,j为整数,从c1的第i位开始返回长度为j的子字符串,如果j为空,则直到串的尾部.

例:select SUBSTR('Message',1,4) from dual;  ---返回结果 Mess



TRIM(c3) :将c3串中的第一个,最后一个空格去掉,或者都删除.

例:select TRIM(' space padded ') from dual; ---返回结果space padded



ABS(n) :返回n的绝对值.



CEIL(n) :返回大于或等于n的最小整数.

例:select ceil(99.009) from dual;  ---返回结果 100



FLOOR(n) :返回小于等于N的最大整数.

例:select floor(99.009) from dual; ---返回结果 99



LOG(n1,n2) :返回以n1为底n2的对数.

例:select log(2,8) from dual;  ---返回结果 3



MOD(n1,n2) :返回n1除以n2的余数.  

例:select mod(8,3) from dual;  ---返回结果 2



SIGN(n,-1,0,1,n) :如果n为负数,返回-1,如果n为正数,返回1,如果n=0返回0.

我经常这样用这个函数,如果n为负数,返回-1,如果为-1,则赋值为0,如果n为正数,返回结果为1,如果为1,则赋值为n.

例1:select decode(sign( (a) ), -1,0, 1, (a) ) from (select -99 as a from dual) ---返回结果 0

例2:select sign(88) from dual; ---返回结果 1





TO_CHAR(x,y) :将日期类型的数据转换成字符串型,将x转换为y型.



TO_TODATE(x,y) :将字符串类型的数据转换成日期型,将x转换为y型.

DECODE(x,m1,r1,m2,r2) :x是一个表达式,m1是一个匹配表达式,x与m1比较,如果             m1等于x,那么返回r1,否则,x与m2比较,依次类推m3,m4,m5.直到有返回结果。

例:select decode(sign( (a) ), -1,0, 1, (a) ) from (select -99 as a from dual)  --返回结果 0



DUMP(x,[,[,[,]]]) :x是一个表达式或字符,fmt表示8进制、10进制、16进制、或单字符。函数返回包含了有关x的内部表示信息的VARCHAR2类型的值。如果指定了n1,n2那么从n1开始的长度为n2的字节将被返回。



AVG() :返回数值的平均值.



COUNT() :返回查询中行的数目,缺省设置是ALL,*表示返回所有的行.



MAX() :返回选择列表项目的最大值



MIN() :返回选择列表项目的最小值



SUM() :返回选择列表项目的数值的总和



STDEV(n) :返回给定表达式中所有值的统计标准偏差



VAR(n) :返回所有值的统计方差

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299006-1-1.html 上篇帖子: 第七章 SQL Server2000简介及应用 下篇帖子: MS-SQL 分页函数+ASP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表