oracle函数

来源:互联网 发布:新版本麦克雷伤害数据 编辑:程序博客网 时间:2024/05/02 00:03
数值函数
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 isa 测试','测试','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 返回登录数据库用户名

0 0
原创粉丝点击