Oracle学习之一——函数

Oracle历史简介

oracle版本介绍:bhttp://www.cnblogs.com/mcgrady/archive/2011/11/13/2247074.html



Oracle函数

基础函数

字符函数

函数 说明
INITCAP(s) 返回s字符串首字母大写、其他字母小写的格式
LOWER(s) 返回s字符串所有字母小写的格式
UPPER(s) 返回s字符串所有字母大写的格式
LENGTH(s) 返回s字符串的长度
SUBSTR(s,start[,length]) 返回s的子串,从s的第start个字符开始,连续取length个字符;如果不写length,表示取到结尾
INSTR(s,find[,start][,occurrence]) 在字符串s中查找字符串find,返回find所在位置是s的第几个字符。start表示从s的第几个字符开始查找,occurrence表示返回第几次出现的位置
REPLACE(s,find,replace_string) 把s中所有的字符串find都替换成replace_string
CONCAT(s1,s2) 返回s1和s2字符串连接后的字符串,等价于s1    
NVL(x,value) 如果x的值为空,则返回value;否则返回x

eg.

// 若phone为空,查询结果中该行由'Unknown phone number'取代,其余不变
select customer_id,nvl(phone,'Unknown phone number')
from customers;

数字函数

函数 说明
ABS(x) 返回x的绝对值
SIGN(x) 如果x为正,则返回1;如果为负,则返回-1;如果为0,则返回0
CEIL(x) 返回大于或等于x的最小整数
FLOOR(x) 返回小于或等于x的最小整数
ROUND(x[,y]) 返回x四舍五入后的结果,如果有参数y表示在小数点后第y位四舍五入
TRUNC(x[,y]) 返回x的整数部分,如果有参数y表示在小数点后第y位进行截断
POWER(x,y) 返回x的y次幂
EXP(x) 返回e的x次幂
LOG(x,y) 返回以x为底、y的对数
LN(x) 返回以e为底、x的对数
SQRT(x) 返回x的平方根

转换函数

函数 说明
TO_NUMBER(x[,format]) 把x转换成数字
TO_CHAR(x[,format]) 把x转换成字符串
TO_DATE(x[,format]) 把x转换成日期

eg.

//将dob从日期型转为字符型
select * from customers where to_char(dob,'yyyy')='1971';

聚合函数

函数 说明
count(x) 统计行数,count(*)会造成效率损失
SUM(x) 用于统计某列的值的总和
AVG(x) 用于统计某列的平均值
MAX(x) 用于统计某一列的最大值
MEDIAN(x) 用于统计某一列的中间值
MIN(x) 用于统计某一列的最小值

eg.

//统计product_id的行数
select count(product_id) from products;

聚合函数中,只有count(*)会统计空值(NULL)。


你可能感兴趣的:(Oracle学习之一——函数)