数值函数
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 返回登录数据库用户名