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;   --显示当前方案名


注意: 方案名与用户名一样





原创粉丝点击