oracle字符函数——最常用的函数(emp表见本博客
实例:1.select lower(ename) from emp;
2.select upper(ename) from emp;
3.select * from emp where length(ename)=5;
4.select substr(ename,1,3) from emp;//其中1代表从第1个开始取,3表示取3个字符(而不是取到第三个)
5.***1)首先完成首字母大写:
select upper(substr(ename,1,1)) from emp;
***2)继而完成后面字符的小写:
select lower(substr(ename,2,length(ename)-1)) from emp;
***3)合并1)、2)用“||”
select upper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1)) from emp;
6.select lower(substr(ename,1,1)) || substr(ename,2,length(ename)-1) from emp;
其他字符函数:
实例:
select replace(ename,'A','我是A')from emp;
oracle数学函数
select (round(sal))*13 from emp;
select (round(sal,1))*13 from emp;//四舍五入到1位小数
selecttrunc(sal,1) from emp;//截取到小数点后一位
selecttrunc(sal) from emp;//直接截取到整数位
selecttrunc(sal,-1) from emp;//截取掉个位
selectfloor(sal) from emp;//向下取整
selectceil(sal) from emp;//向上取整
select mod(10,2) from dual;//dual为Oracle亚元表,用来测试函数,此查询结果为0
select mod(10,3) from dual;//此查询结果为1,即查询结果为10除以3取余
实例:
select trunc(sal/30),ename from emp;
或
select floor (sal/30),ename from emp;
其他数学函数:
日期函数:
select * from emp where sysdate>add_months(hiredate,8);//sysdate表示系统时间,hiredate表示入职时间
select * from emp where sysdate>=add_months(hiredate,12*10);//10年一年12个月
select floor(sysdate-hiredate) "入职天数",ename from emp;
select hiredate,ename from emp where last_day(hiredate)-2=hiredate;
oracle转换函数
比如:
to_char(转换函数)
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;//此方法可精确到秒查询
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') ,to_char(sal,'L99999.99')from emp;
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') ,to_char(sal,'$99,999.99')from emp;
实例:
select * from emp where to_char(hiredate,'yyyy')=1980;
to_date(转换函数)
sys_context(系统函数)
//userenv是固定的。查询当前数据库
select sys_context('userenv','lanuage') from dual;//查询当前所用语言
Oracle数据库是以方案的形式管理的