oracle学习记录之九
来源:互联网 发布:校园商店源码 编辑:程序博客网 时间:2024/05/21 05:58
1.设置只读事务
set transaction read only; --必须为连接用户后的第一条事务管理语句,即之前不能有增删改等操作
字符函数
1.lower upper length substr replace instr
select lower(ename) from emp;
select upper(ename) from emp;
select ename from emp where length(ename)=5; --显示名字长度为5 的员工名字
select substr(ename,2,3) from emp; --从第2个字符取,总共取3个字符
select upper(substr(ename,1,1)) || lower(substr(ename,2,length(ename)-1)) from emp; --第一个字母大写,其余小写
注意,oracle中连接字符不能用+ ,而是用 || .
select replace(ename, search_str, replace_str) from emp;
select replace(ename, 'A', '老鼠') from emp;
select instr(ename, 'I') from emp where ename='SMITH'; --搜索字串的位置,找不到返回0;
数学函数
round -- 四舍五入
select ename, sal, round(sal,-1) from emp where ename='JONES';
trunc -- 直接截取
select ename, sal, trunc(sal, -2) from emp;
select ename, sal, trunc(sal, 1) from emp; --保留一位小数
floor --取比参数小的整数
select ename, sal, floor(sal) from emp;
ceil --取比参数大的整数
select ename, sal, ceil(sal) from emp;
select ceil(10.2) from dual;
mod --去模求余数
select mod(9,2) from dual;
abs --返回绝对值
select abs(-10) from dual;
日期函数
select sysdate from dual; --返回系统时间
select ename, (sysdate-hiredate) from emp; --显示入职的天数
select ename from emp where sysdate>add_months(hiredate,8); --入职时间大于8个月的员工
select ename, hiredate,last_day(hiredate) from emp; --显示单月的最后一天
select * from emp where last_day(hiredate)-9<hiredate; --显示单月最后十天入职的员工
转换函数--完成数据类型间的转换
oracle能进行隐含转换
如将数字隐含转换为字串,也可将字串隐含转换为数字
to_char 函数
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; --hh24, hh12
select to_char(33.45,'L999.99') from dual; --显示本地货币符号
select to_char(34562.54,'L99,999.99') from dual;
select to_char(34562.54,'$99,999.99') from dual;
select ename, hiredate from emp where to_char(hiredate,'yyyy')=1980; --显示1980年入职yuangong
select ename, hiredate from emp where to_char(hiredate,'mm')=12; --显示12月份入职员工
系统函数 sys_context
select sys_context('USERENV', 'db_name') from dual; --当前数据库
select sys_context('USERENV','session_user') from dual; --当前用户
select sys_context('USERENV','language') from dual; --当前语言
select sys_context('USERENV', 'current_schema') from dual; --显示当前方案名
注意: 方案名与用户名一样
- oracle学习记录之九
- Redis学习记录之命令String(九)
- oracle学习记录之二
- oracle学习记录之三
- oracle学习记录之四
- oracle学习记录之六
- oracle学习记录之七
- oracle学习记录之八
- oracle学习记录之十
- oracle学习记录之十一
- oracle学习记录之十二
- oracle学习记录之十三
- oracle学习记录之十四
- oracle学习记录之十五
- oracle学习记录之十六
- oracle学习记录之十七
- oracle学习记录之十八
- oracle学习记录之十九
- C指针和数组实例解析
- 对tomcat下自制应用服务的性能测试小结
- hdu 1200 To and Fro
- 刘未鹏:怎样花两年时间去面试一个人
- Infinity Blade背后的故事:两兄弟,一款手机游戏,2000万
- oracle学习记录之九
- iOS-动态调整UITableViewCell的高度
- java 转整型 哪种方法速度最快?
- ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
- 2011年11月知识小总结
- Java中Map类
- 一次IBM 服务器的磁盘故障更换过程
- oracle之隐式游标和ref游标总结
- linux 2.6.x Makefile