打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Oracle中的函数
1.单行函数也称标量函数,对于从表中查询的每一行,该函数都返回一个值.单行函数可用与select子句中,也可用于where子句中.单行函数大致分为:
>.日期函数
>.字符函数
>.转换函数
>.其他函数
1.日期函数
>.add_months: add_months(d,n) d是日期 n表示月数
select addmonths(sysdate,1) from dual;
>.months_between months_between(d1,d2) 如果d1晚与d2,则结果为正数,否则为负数.如果d1和d2为某月中的同一天后月份的最后一天,则结果为整数,否则Oracle将根据一个月31天来计算结果的小数部分
select months_between(date'2005-2-10',date'2007-3-10') from dual; =-25 差25个月
>.last_day last_day(d) 返回日期当月的最后一天的日期值
>.round round(d,[fmt]) 次函数返回日期值,次日期四舍五入为格式模型指定的单位.fmt为可选项,默认舍入最靠近的那一天
select round(sysdate) from dual; 结果为sysdate当天的日期
select round(sysdate,'year') from dual; 如果sysdate中的月在7月1日之后则返回下一年的1月1日,否则为当年的1月1日
select round(sysdate,'month') from dual; 舍入到月的第一日
select round(sysdate,'day') from dual; 最近的星期日
>.trunc trunc(d,[fmt])与round不同的是:他只舍不入
select trunc(date'2005-8-27','year') from dual; =2005-1-1
>.next_day next_day(d,day) d表示日期,day表示一周中的任何一天.
select next_day(sysdate,'星期二') from dual; 结果为sysdate后的第一个星期二,参数'星期二'也可以用整数3表示.
>.extract extract(fmt from d) 提取日期中的特定部分.
select extract(year from date'2005-2-10') from dual; 结果为2005
注意次处的fmt不要使用''
2.字符函数
 
函数
说明
输入
输出结果
Initcap(char)
首字母大写
select initcap(‘hello’) from dual;
Hello
Lower(char)
转换为小写
select lower(‘FUN’) from dual;
fun
Upper(char)
转换为大写
select upper(‘sun’) from dual;
SUN
Ltrim(char,set)
左裁减,set不写默认裁减空格
select ltrim(‘xyzabc’,’xyz’) from dual;
abc
Rtrim
和左裁减相反
Select rtrim(‘xyzabc’,’abc’) from dual;
Xyz
Translate(char,from,to)
按from到to的翻译模式,去匹配char中存在的字符并替换
Select translate(‘jack’,’abcd’,’1234’) from dual;
J13k
Replace(char,search_str,replace_str)
在char中查找srearch_str并替换成replace_str
Select replace(‘abcd’,’ab’,’fg’) from dual;
Fgdc
Instr(char,substr)
查找子串位置:从1开始,未找到时为0
Select instr(‘worldwide’,’d’) from dual;
5
Substr(char,pos,len)
从pos位置开始,取len的长度
Select substr(‘abcd’,2,2) from dual;
Bc
Concat(char1,char2)
连接字符串
Select concat(‘hello’,’world’) from dual;
helloworld
 
其他字符函数:
chr(ASCII):
根据acsii码返回对应的字符
Lpad(char,len,to):
指定长度为len,不够长就在左边用to填充,若char的长度大于len,则取左边的指定len,右边舍掉,如:
select lpad('function',15,'=') from dual; 结果:======function 若:
select lpad('function',5,'=') from dual;结果funct 取5个的长度
Rpad和Lpad正好相反.
trim和ltrim和rtrim一样,trim舍去左右两边的 默认也为舍去空格.
当指定leading 选项时,与Ltrim类似,裁减左边的字符
select trim(leading 9 from 9992434999) from dual;结果2435999 开头的9被去掉了,一旦遇到9以外的数字,将停止操作
当指定trailing选项时,则正好与leading 相反
select trim(trailing 9 from 9992434999) from dual;结果9992434
当不指定时 去掉左右两边的字符
select trim(9 from 9992434999) from dual;结果2434
decode(expr,search1,result1,search1,result2)
与translate不同的是,decode进行逐行逐个值的替换,translate进行逐行逐个字符的替换
数字函数
 
函数
说明
输入
结果
Abs(n)
取绝对值
Select abs(-15) from dual;
15
Ceil(n)
向上取整(大于n的最小整数)
Select ceil(15.1) from dual;
16
Sin(n)
正玄
Select sin(1.571) from dual;
0.99999979
Cos(n)
余玄
Select cos(0) from dual;
1
Sign(n)
取符号(正返回1,负返回-1)
Select sign(-15) from dual;
-1
Floor(n)
向下取整(不大于n的最大整数)
Select floor(100.2) from dual;
100
Power(m,n)
M的n次幕
Select power(4,3) from dual;
64
Mod(m,n)
取m除n的余
Select mod(10,3) from dual;
1
Round(m,n)
四舍五入小数位为n
Select round(100.245,2)from dual
100.25
Trunk(m,n)
截断小数位为n只舍不入
Select trunk(100.245,2) from dual
100.24
Sqrt(n)
平方根
Select sqrt(4) from dual
2
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle?第四章
oracle 日期函数
oracle常用函数
Oracle的常用函数
ORACLE 常用函数——转换函数
(转)oracle trunc & round区别(非常清楚,并有多个实用示例)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服