oracle函数

数值函数
1、ABS(100) 获取绝对值
2、MOD(5,2) 求余
3、SIGN('2') 或   SIGN(9)   返回数值正反0、1、-1 ,并且自动转换chat为数值类型
三角函数
1、cos(n) 余弦
2、acos(n) 反余弦
3、cosh(n) 双曲余弦
4、sin(n) 正弦
5、sinh 双曲正弦
6、asin(n) 反正弦
7、tan(n) 正切
8、tanh(n) 双曲正切
9、atan(n) 反正切

返回指定数值为准整数
1、ceil(n) 返回大于或等于整数   如11.1返回12   11.0返回11   -11.5返回-11
2、floor(n) 返回小于或等于整数   如11.1返回11   11.0返回11   -11.5返回-12

指数对数
1、sqrt(n) 返回平方根
2、power(n,m) 返回n的m次方     power(5.3)   5*5*5=125     exp(n)   e 的n次幂
3、log(n,m) 返回以n为底m的对数   n的x次方等于m     log(n,m)=x   注:n除1、0以为任意数、、
4、ln(n) 以常数e为底数的对数


四舍五入
1、round(n,integer) n四舍五入 ,integer   为整数,如果不为整数自动截取整数部分,如integer为正数自动保留integer位小数,如为负数,四舍五入整数integer位
例:   round(198.7,-2) = 200,round(198.725,2) = 198.73   ,round(198.7)=199
2、trunc(n,integer) n直接截取   如round(198.7,-2)= 100,round(198.725,2) = 198.72   ,round(198.7) = 198

字符型函数

1、chr(n) 返回第n位ascII值
2、ascii(char) 返回字符ascii位数   如ascii('明天') 返回ascii('明')的ascii码
3、length(char) 返回字符串长度
4、substr(char,n,m) char字符串,n从第几个,m截取几位   如:substr('string',2,2) = 'tr',substr('string',-3,3) = 'ing'
5、concat(char,char) /   char||char   字符串连接
6、instr(char,char) 返回字符所在位置instr('this is a 测试!','s')   =4   instr('this is a 测试','s',-1)   -1最后一个

字符串转换函数
1、upper(char) 返回大写
2、lower(char) 返回小写
3、initcap(char) 首字母大写
4、nls_initcap(char,nlsparam)   指定参数第一个字母大写
5、nls_upper(char,nlsparam) 指定参数变成大写
6、nls_lower(char,nlsparam) 指定参数变成小写
7、nlsssort(column,nlsparam) 指定的方式排序
8、replace(char,search_str,replace_str) 字符串替换 replace('this is a 测试','测试','result')   this is a result
9、rpad(char,n,char) 右字符串填充
10、lpad(char,n,char) 左字符串填充
11、trim() 默认删除空格   trim( trailing 't' from 'text')   trailing删除后缀 't'   leading 删除前缀   both 删除前缀后缀
12、rtrim() 与rpad相反 rtrim('test     ')删除空格, rtrim('test*ffs','fs*')   = test   从右删除'test*ffs'中为‘f’'s''*' 的字符直到不为‘f’'s''*'停止
13、ltrim() 与rtrim基本相同,是从左侧开始删除
14、nls_charset_id(String) 可以得到字符集名称对应id
15、nls_charset_name(id) 可以得到id对应字符集名称 nls_charset_name(1)=   US7ASCII nls_charset_name(2)=WE8DEC


日期类型函数
1、sysdate   系统日期
2、systimestamp 系统时间带时区
3、dbtimezone 数据库时区
4、add_months(date,integer) 为日期添加月份   add_months(sysdate,2) = 2014-10-4 日期类型
5、sessiontimezone 返回当前回话时区
6、last_day(date)   返回指定日期当月最后一天
7、next_day(date,char) 指定日期后一周的星期n的对应日期   next_day(sysdate,'星期一') 2014-08-11 19:15:13
8、current_date 返回当前回话时区日期     alter session set time_zone='6:0';   修改当前会话时区
9、extract(year/month/day/hour/minute/second from datetime)   获取年月分
10、months_between(date1,date2) 返回date1和date2之间的月份数   date1>date2   返回正数     等于返回0   date1
11、new_time(date,timezone1,timezone2) 返回时区1的date在时区2的时间 
12、round(date[,fmt]) round(date) 四舍五入到最近的一天   round(sysdate) = 2014-08-06
13、trunc(date[,fmt]) 截取到fmt指定形式   trunc(sysdate)2014-08-05


转换函数
1、asciistr(string) asciistr('李四') \674E\56DB   返回转换string为数据库对应字符集对应ascii字符串
2、bin_to_num(data[,date...])   二进制转换成十进制
3、cast(expr as type_name) 把expr转换成type_name类型数据  
4、chatrorowid(char) 
5、rowidtochar(rowid) 转换rowid为字符串
6、rowidtonchar(rowid)
7、convert(char,dest_char_sest[,source_char_sest])   字符类型转换,如果没有source_char_sest则取数据字符集
8、to_char(number/date) 字符转换to_char(18.89,'99.9') ='18.9'   to_char(sysdate,'YYYY-MM-DD') to_char(sysdate,'month') = 8月
9、to_date(char[,fmt[,nlsparam]])   字符串转换成日期 to_date('2010-8-1','YYYY-MM-DD')   转换成日期
10、to_number(char,'999.9') 字符串转数字
11、to_single_byte(char) 全交转半角
12、coalesce(expr) 返回第一个不为null的值,如果都为null返回null
13、lnnvl(condition) 除了condition指定的数据,如:lnnvl(age>80)   出了age>80的结果,结果中包含age为null值
14、nvl(expr1,expr2) 替换null,如果expr1为null,则返回expr2
15、nvl2(expr1,expr2,expr3) 如果expr1为null,则返回expr3,不为null时返回expr2
16、avg 平均值
17、count 计算不重复数据数量   不如count(age) 总共有都是不同年龄的   count(*) 总条数
18、mas 返回最大值
19、sum 求和


其他函数
user 返回登录数据库用户名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ma_xs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值