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)。