您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Oracle操作

bubuko 2022/1/25 20:07:48 其他 字数 7811 阅读 888 来源 http://www.bubuko.com/infolist-5-1.html

--返回第一个字符的ascii值 select ascii(ename),ename from emp; --返回ascii对应的字符 select chr(97) from dual; --将字符串中的首字母大写,其余小写 select initcap(ename), ename from emp ...
--返回第一个字符的ascii值
select ascii(ename),ename from emp;
--返回ascii对应的字符
select chr(97) from dual;
--将字符串中的首字母大写,其余小写
select initcap(ename), ename from emp;
--所有字母小写
select lower(ename), ename from emp;
--所有字母大写
select upper(ename), ename from emp;
--字符串替换
select replace(ename,T,*), ename from emp;
--查找指定字符串所在位置(起始位置,出现次数)(3代表从第三个位置开始查找,包括第三个,)
--可根据起始位置和出现次数
--如果只有一个参数,那么认为是起始位置,而不是第几次出现
select instr(ename,L1,2),ename from emp;
--字符串截取(strat从1开始,1代表截取所有,负数代表从末尾截取,-1代表截取最后一个)
select substr(ename,2),ename from emp;
--连接字符串,concat,等同于||
select concat(empno,ename) from emp;
--返回字符个数
select length(ename),ename from emp;
--去空格或指定字符(只能去除单个指定字符,不能去除字符串)
select trim(S from ename) ,ename from emp;

--很重要的两个函数
--NVL函数(如果comm为null则返回0,如果不为nul则返回comm的值)
select ename,nvl(comm,0) from emp;
--NVL2函数 (如果为null返回0,如果不为空返回100)
select ename,nvl2(comm,1000) comm from emp;

练习:

--查出所有员工的姓名,首字母大写,其余字母小写
select initcap(ename) ,ename from emp;
--查询出所有员工的姓名,如果姓名中有“S”,全部替换成“8”
select replace(ename,S,8) ,ename from emp;
--查询出姓名中有两个“L”的员工信息
select instr(ename,L,1,2),ename from emp ;
select * from emp where instr(ename,L,1,2)=2;
--查询出所有员工的姓名和职位的前五个字符
select ename,substr(job,0,5),job from emp;
--查询出姓名字符超过5个的员工信息
select * from emp where length(ename)>5;
--查询出所有员工的姓名和年总收入
select ename,(sal+nvl(comm,0))*12 from emp;

 

Oracle操作

原文:https://www.cnblogs.com/qilin20/p/12426598.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶