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