荐 Oracle的系统内置函数、数据分组
系统内置函数
单行函数
字符函数
字符函数输入参数为字符类型,其返回值是字符类型或数字类型
-
Upper():字符串转换成大写格式
-
Lower():字符串转换为小写格式
-
Initcap():字符串中每个单词的首字母大写,其他字符小写
-
Concat():连接字符串
-
Substr():截取字符
substr('Oracle',1,3) 结果:Ora
- Length():字符长度
- Lpad()/ Rpad():填充字符右到左 / 填充字符左到右
Lpad('字符串',m,‘n’)
Rpad('字符串',m,‘n’)
//m总字节,n是填充的字符
- Replace():换字符
Replace(‘字符串’,‘字符1’,‘字符2’)
//字符串中的字符1换成字符2
数值函数
- Round(n,m)四舍五入
- Trunc(n,m)截取函数
- Mod(n,m)求余
日期和时间函数
- Sysdate:系统时间
Select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from daul;
- Months_between():时间之差(月数)
Select months_between('现在系统时间','指定开始时间') from 表名;
- Add_months():返回指定时间之后的指定时间
Select Add_months('指定时间','任意整数') from 表名;
- Next_day():返回指定时间之后的第一个工作日
Select Next_day('指定时间','任意整数') from 表名;
- Last_day():当前月份的最后一天
Select 列名 from 表名 where 列名 = Last_day('列名');
- Round():返回时间值的四舍五入
Round(日期,m),m值是决定四舍五入的方式
year以7月1日为分界点,month以16日为分界点
设置系统时间‘12日-7月-20年’
Round('sysdate','year'),结果是:1日-1月-21年
Round('sysdate','month'),结果是:1日-7月-20年
转换函数
该函数用于把一种数据类型转换成另外一种数据类型。
Oracle可以隐式、自动的进行数据类型转换
- To_char():日期类型转换成字符类型
to_char('列名','转换格式')
Select to_char('列名','YYYY-MM-DD') from 表名;
Select to_char('列名','YYYY"年"MM"月"DD"日"') from 表名;
- To_char():数值类型转换成字符类型
to_char('指定数值','数字格式')
Select to_char('指定数值','L000,000') from 表名; //补全0
Select to_char('指定数值','L999,999') from 表名; //不补全0
- To_date():字符类型转换成日期类型
- To_dnumber():字符类型转换成数值类型
通用函数(处理非空值)
Oracle9i之前,处理null只能用函数NVL,但从Oracle9i之后,NVL或者NVL2 都可以处理NVL
- NVL()
Nvl(数值1,数值2),处理Null
如果数值1是Null,返回数值2;
如果数值1不是Null,返回数值1;
- NVL2()
Nvl(数值1,数值2,数值3),处理Null
如果数值1是Null,返回数值2;
如果数值1不是Null,返回数值3;
- Nullif()
Nullif(数值1,数值2),比较
如果两者相等,返回null
如果两者不相等,返回数值1
- Coalesce()
Coalesce(数值1,数值2,数值3,N)
返回第一个 不为空的数值
条件表达式
都可以用if_then_else逻辑判断
- Case
Case 列名
when 指定值1 then 返回值1
when 指定值2 then 返回值2
when 指定值3 then 返回值3
else 返回值4
end
- Decode()
Docode(列名,'列值1','返回值1','列值2','返回值2','列值3','返回值3','返回值4')
分组函数
- Avg() 求平均数
- Sum()求和
- Min()求最小值
- Max()求最大值
- Count()统计、计数
- Wm_concat() 行转换列
数据分组
- Group by
1. 在Select语句中未包含在函数中的列中,必须包含在group by子句里,但包含在group by子句中列,不必包含在select语句中
2. Where子句中 不允许使用分组函数,Having可以
3. 分组函数的嵌套函数必须加上Group by子句
- Having
Select->From->Where->Group by ->Having->order by
以!上!内!容!
以上内容仅为自我领悟、亲身碰遇困处或难处的学习笔记
如有错误,欢迎指正!!!
本文地址:https://blog.csdn.net/StudyPower_Max/article/details/107285267