oracle内建函数(一)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 11:28 点击:

数字函数
Sql代码 
--输入和输出都是数字 
--abs(x) 取绝对值 
select abs(-1) from dual;--1 
 
--ceil(x)  返回大于等于n的最小整数 
select ceil(1.4),ceil(-2.5) from dual;--2,-2 
 
--floor(x) 返回小于等于n的最大整数 
select floor(1.4),floor(-2.3) from dual;--1,-3 
 
--mod(a,b) 返回a/b的余数,如果b=0,返回a 
select mod(3,2),mod(3,0) from dual; --1,3 
 
--round(a,[b]) 四舍五入,b是指定四舍五入的位数, 
--省略b,到整数;b是整数,小数点后b位;b是负数,小数点前b位 
select round(23.78),round(23.78,1),round(23.78,-1) from dual;--24,23.8,20 
 
--trunc(a,[b]) 截取数字,b同样代表截取位置,定位同上 
select trunc(23.78),trunc(23.78,1),trunc(23.78,-1) from dual;--24,23.7,20 
 
--平方根 
select sqrt(3),sqrt(9) from dual;--1.732,3 
 
--power(a,b) a的b次方 
select power(sqrt(3),2),power(2,3) from dual;--3,8 
 
--sign(number):number>0,return 1;number<0,return -1;number=0,return 0. 
select sign(-7),sign(0),sign(7) from dual; 
 
--greatest(a,b,c,d...) 返回最大的 
select greatest(3,7,5,12) from dual; --12 
--字符串比较 自然排序比较 
select greatest('about','age','again') from dual;--age 
--如果参数数据类型不通,都转换为第一个参数类型进行比较 
select greatest('3',7,5,12) from dual; --7 
 
--least(a,b,c,d...) 返回最小的,规则同greatest, 如果有一个为null,则返回null 
select least(2,12,6) from dual; --2 
select least('2','12','6'),least(2,34,null) from dual;--'12',null 

 


字符函数
Sql代码 
--ascii(char) 返回char的ascii码值 
select ascii('a'),ascii('D') from dual;--97,68 
 
--chr(n) 将ascii值转换成字符 
select chr(97),chr(65) from dual;--a,A 
 
--concat(a,b) 连接字符串a和b,作用和'||'相同 
select concat('aa','bb'),'aa'||'bb' from dual; --aabb,aabb 
 
--initcap(char) 将字符串中每个单词首字母大写  
select initcap('hello oracle') from dual;--Hello Oracle 
 
--length(char)||lengthc(char) 返回字符串的长度 
select length('hello我') from dual;--6 
--vsize(char) 返回字符串的bytes长度 =lengthb(char) 
select vsize('hello') from dual; 
--查看字符集 
select * from v$nls_parameters; 
-- 
select length('我'),lengthb('我'),vsize('我') from dual;--1,2,2 
select length('hello'),vsize('hello') from dual;--5,5 
 
 
--instr(char,char1) char1在char中的位置,可以指定起始位置,和第几次出现 
select instr('hello','l') from dual;--3,默认从第一个字符开始,第一次匹配结束 
select instr('hello','l',1,2) from dual;--4,从第一个支付开始,第二次出现位置  
 
--lower(char) 字符串转换成小写 
select lower('TOM') from dual;--tom 
 
--upper(char) 字符转换成大写 
select upper('Tom') from dual;--TOM 
 
--lpad(char1,n,char2) 在char1字符串的左端添加char2字符串,直到插入的字符串长度达到n 
--char2默认值为空格,如果char1长度大于n,返回char1左端的n个字符 
select lpad('a',5,'b') from dual;--bbbba 
select lpad('abcdefg',5,'h') from dual;--abcde 5<原字符串的长度,直接截取原来字符串返回 
 
--rpad(char1,n,char2) 右端填充,规则同上面左端填充 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1