Oracle操作
2020-03-06 14:56 默默不语 阅读(258) 评论(0) 编辑 收藏 举报--返回第一个字符的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,'L',1,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,100,0) 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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!