作者:黄钟瑶
完成时间:2019年4月4日
开发工具与技术:Oracle
Oracle函数的单行函数
对字符进行大小写控制函数
大写函数(Lower,Upper)
Select Upper(name) from newtable;
小写函数
Select Lowe(name) from newtable;
首字母大写
Select initcap(name) from newtable;
字符控制函数
连接字符------concat,与||效果一样
Select concat((name),(birthday)) from newtable
截取字符-------substr,从开始截取字符到结束截取字符
Select substr(name,1,4) from newtable;
字符的长度----length,获取字符的长度
Select length(name) from newtable;
字符的位置----instr,查询字符的具体位置
Select instr(name,’2’) from newtable;
左对齐函数----lpad,比如name向左对齐10位,星号代替不够补的空格
Select lpad(name,10,’*’) from newtable;
右对齐函数----rpad,比如name向右对齐10位,星号代替不够补的空格
Select rpad(name,10,’*’) from newtable;
Trim-----去除首部字符或者尾部字符或者去前后空格
select trim('j' from 'jklirl') from newtable;
select trim('l' from 'jklirl') from newtable;
select trim(' jklirl ') from newtable;
Replace---替换字符
Select replace(‘name’’,’n’,’c’) from newtable;
一条数据可以使用多个单行函数
日期函数
MONTHS_BETWEEN,两个日期之间相差的月数
select MONTHS_BETWEEN('01-1月-19','11-1月-18') from dual;
ADD_MONTHS 在指定日期中加上多少个月数
select ADD_MONTHS ('11-1月-18',3)from dual;
NEXT_DAY 指定日期中的下一个星期几对应的日期
select NEXT_DAY ('11-1月-18','星期六') from dual;
LAST_DAY 本月的最后一天
select LAST_DAY ('11-1月-18')from dual;
ROUND 四舍五入月份和年份
select ROUND(SYSDATE,'MONTH')from dual;
select ROUND(SYSDATE ,'YEAR')from dual;
TRUNC 截取月份和年份
select TRUNC(SYSDATE ,'MONTH')from dual;
select TRUNC(SYSDATE ,'YEAR')from dual;
转换函数
隐式转换和显示转换数据类型
隐式转换在不刻意声明情况下自动转换
VARCHAR2 OR CHAR 可以转换为 NUMBER
VARCHAR2 OR CHAR 可以转换为 DATE.
NUMBER 可以转换为 VARCHAR2
DATE 可以转换为 VARCHAR2
显示转换
TO_CHAR函数对日期的转换
TO_DATE 函数对字符的转换
TO_CHAR函数对数字的转换
TO_NUMBER 函数对字符的转换
总结:以上几种函数都是目前常用的,使用到对字符的控制,日期的计算和字符与数字的转换,也可以按照的一定的逻辑来组合使用,更需要多多练习。