在Oracle以及MySQL等数据库中,函数只将取出的数据进行处理,不会改变数据库中的数据。
分类:单行函数、多行函数、转换函数、其他函数
单行函数:
字符函数数值函数日期函数转换函数通用函数
多行函数:
sum() avg()仅适用于数值型
count() max() min() 适用任何数据类型
伪表:真实存在的表,是为了方便进行数据验证而临时存在的表。表名为dual。
函 数功 能示 例结 果
INITCAP (char)首字母大写initcap ('hello')Hello
LOWER (char)转换为小写lower ('FUN')fun
UPPER (char)转换为大写upper ('sun')SUN
LTRIM (char, set)左剪裁ltrim ('xyzadams', 'xyz')adams
RTRIM (char, set)右剪裁rtrim ('xyzadams', 'ams')xyzad
TRANSLATE (char, from, to)按字符翻译translate ('jack', 'abcd', '1234')j13k
REPLACE (char, search_str, replace_str)字符串替换replace ('jack and jue', 'j', 'bl')black and blue
INSTR (char, substr[, pos])查找子串位置instr ('worldwide', 'd')5
SUBSTR (char, pos, len)取子字符串substr ('abcdefg',3,2)cd
CONCAT (char1, char2)连接字符串concat ('Hello', 'world')Helloworld
length( …..)返回字符长度
Lengthb(….)返回字符字节长度
数值函数:select 函数名(字段) … from …
函 数功 能示 例结 果
ABS(n)取绝对值abs(-15)15
CEIL(n )向上取整ceil(44.778)45
SIN(n)正弦sin(1.571).999999979
COS(n)余弦cos(0)1
SIGN(n)取符号sign(-32)-1
FLOOR(n)向下取整floor(100.2)100
POWER(m,n )m的n次幂power(4,2)16
MOD(m,n)取余数mod(10,3)1
ROUND(m,n)四舍五入round(100.256,2)100.26
TRUNC(m,n)截断trunc(100.256,2)100.25
SQRT(n)平方根sqrt(4)2
日期函数:
函 数功 能示 例结 果
MONTHS_BETWEEN返回两个日期间的月份months_between ('04-11月-05','11-1月-01')57.7741935
ADD_MONTHS返回把月份数加到日期上的新日期add_months('06-2月-03',1)06-3月-03
add_months('06-2月-03',-1)06-1月-03
NEXT_DAY返回指定日期后的星期对应的新日期next_day('06-2月-03','星期一')10-2月-03
LAST_DAY返回指定日期所在的月的最后一天last_day('06-2月-03')28-2月-03
ROUND按指定格式对日期进行四舍五入round(to_date('13-2月-03'),'YEAR') 01-1月-03
round(to_date('13-2月-03'),'MONTH')01-2月-03
round(to_date('13-2月-03'),'DAY')16-2月-03
TRUNC对日期按指定方式进行截断trunc(to_date('06-2月-03'),'YEAR')01-1月-03
trunc(to_date('06-2月-03'),'MONTH')01-2月-03
trunc(to_date('06-2月-03'),'DAY')02-2月-03
多行函数:
作用:对查询的数据进行统计。
针对多行数据,只返回一个结果
max最大值,min最小值,avg平均值,sum求和,coun(非空)数量(可用distinct去重)
sum和avg只适用于数值型,count、max、min适用于任何类型
注意:多行函数不能和字段直接混用,除非分组。多行函数不能和单行函数混用,除非分组。
多行函数可以同时使用。
转换函数:
1.to_number()将数值类型的字符转数值
2.to_char()将数值或日期转换为字符
3.to_date()将日期类型的字符转换为日期
数值和字符之间的转换可以隐式转换,to_number可以省略不写。
Oracle的类型转换分为自动类型行转换和强制类型转换。
尽管数据类型行之间可以自动转换,仍建议使用显示转换函数,常用类型转换函数有to_char()、to_date()、to_number()。
to_char(num,format)
to_char(date,format)
日期格式元素含义
YYYY、YY代表四位、两位数字的年份
MM用数字表示的月份
MON月份的缩写、对中文月份来说就是全称
DD数字表示的日
DY星期的缩写,对中文的星期来说就是全称
HH24,HH1212小时或者24小时进制下的时间
MI分钟数
SS秒数
数字格式元素含义
9代表一位数字,如果该位没有数字则不显示,但对于小数点后面的部分仍会强制显示
0代表一位数字,如果该位没有数字则强制显示0
$显示美元符号
L显示本地货币符号
.显示小数点
,显示千分位符号