字符函数输入参数为字符类型,其返回值是字符类型或数字类型
Upper():字符串转换成大写格式
Lower():字符串转换为小写格式
Initcap():字符串中每个单词的首字母大写,其他字符小写
Concat():连接字符串
Substr():截取字符
substr('Oracle',1,3) 结果:Ora
Lpad('字符串',m,‘n’)
Rpad('字符串',m,‘n’)
//m总字节,n是填充的字符
Replace(‘字符串’,‘字符1’,‘字符2’)
//字符串中的字符1换成字符2
Select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from daul;
Select months_between('现在系统时间','指定开始时间') from 表名;
Select Add_months('指定时间','任意整数') from 表名;
Select Next_day('指定时间','任意整数') from 表名;
Select 列名 from 表名 where 列名 = Last_day('列名');
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('列名','转换格式')
Select to_char('列名','YYYY-MM-DD') from 表名;
Select to_char('列名','YYYY"年"MM"月"DD"日"') from 表名;
to_char('指定数值','数字格式')
Select to_char('指定数值','L000,000') from 表名; //补全0
Select to_char('指定数值','L999,999') from 表名; //不补全0
Oracle9i之前,处理null只能用函数NVL,但从Oracle9i之后,NVL或者NVL2 都可以处理NVL
Nvl(数值1,数值2),处理Null
如果数值1是Null,返回数值2;
如果数值1不是Null,返回数值1;
Nvl(数值1,数值2,数值3),处理Null
如果数值1是Null,返回数值2;
如果数值1不是Null,返回数值3;
Nullif(数值1,数值2),比较
如果两者相等,返回null
如果两者不相等,返回数值1
Coalesce(数值1,数值2,数值3,N)
返回第一个 不为空的数值
都可以用if_then_else逻辑判断
Case 列名
when 指定值1 then 返回值1
when 指定值2 then 返回值2
when 指定值3 then 返回值3
else 返回值4
end
Docode(列名,'列值1','返回值1','列值2','返回值2','列值3','返回值3','返回值4')
1. 在Select语句中未包含在函数中的列中,必须包含在group by子句里,但包含在group by子句中列,不必包含在select语句中
2. Where子句中 不允许使用分组函数,Having可以
3. 分组函数的嵌套函数必须加上Group by子句
Select->From->Where->Group by ->Having->order by
以上内容仅为自我领悟、亲身碰遇困处或难处的学习笔记
如有错误,欢迎指正!!!
本文地址:https://blog.csdn.net/StudyPower_Max/article/details/107285267
如对本文有疑问, 点击进行留言回复!!
每日一记:Oracle升级2020年4月份的数据库补丁Database Patch Set Update : 11.2.0.4.200414 (30670774)
Oracle 19.3 dataguard for Redhat 7.6
网友评论