码迷,mamicode.com
首页 > 数据库 > 详细

oracle函数

时间:2016-08-26 20:01:30      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

select table_name from all_tables where owner =dog
create user yyy identified by 123
--授权
grant connect,resource to yyy

create table emple
(
       empId number primary key,
       empName nvarchar2(32)
)



grant connect,resource to scott 

--解er s锁
alter user scott account unlock;

//查询news表
--获取5到9的数据
select * from
(
  select temp.*,rownum rn from 
    (
      select emp.* from emp
      order by sal desc
    ) temp
where rownum<=9
)
where rn>=5

SELECT * FROM 
(
SELECT A.*, ROWNUM RN 
FROM (SELECT * FROM emp) A 
)
WHERE RN BETWEEN 21 AND 40
--大小写控制函数
--转换大写
select upper(scott) from dual;
--转换小写
select lower(Aa) from dual;
--首字母大写
select initcap(aa) from dual;
--字符控制函数
--拼接
select concat(happy,boy) from dual;
--截取
select substr(happy,1) from dual;
--字符字数统计
select length(abbbb) from dual;
--字节字数统计
select lengthb(ab) from dual;
--从第三个位置找or第二次出现的位置
select instr(corporate floor,or,3,2) "Instring" from dual;
--从倒数第三个位置开始找or第二次出现的位置
select instr(corporate floor,or,-3,2) "Instring" from dual;
select instrb(corporate floor,or,5,2) "Instring in bytes" from dual;
--lpad()和rpad() 
select lpad(happy,10,*) from dual;
--trim()删除两边的字符串,该字符串可以指定
select trim(t  from techt) from dual;
select trim(trailing 0 from 00100) from dual;

--日期函数
--获取两日期之间的
select months_between (to_date(02-02-1995,mm-dd-yyyy),to_date(01-02-1995,mm-dd-yyyy)) "Day"
from dual;


--两个日期之间的天数
select floor(sysdate-to_date(20040202,yyyymmdd)) from dual;
--两个日期之间的月份
select months_between(sysdate,to_date(20140204,yyyymmdd)) from dual;、
--转换函数(隐式转化和显式转化)

--查询emp表中的 入职日期d-m-y
select * from emp where  hiredate=20-2月-81;
--转化成字符(sysdate 指的是当前时间)
select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;
--将emp表中的所有sal工资,转换成某种形式,第二个参数为形式
select to_char(sal,99,999.99) from emp;
select sal from emp;
--round(第二个参数为小数点后的第几位,第一位下标为1)四舍五入
select round(12.46,1) from dual;
--通用函数
--滤空函数

select sal*12工资,comm 奖金,sal*12+nvl(comm,0) 哈哈 from emp;

select sal*12工资,comm 奖金,sal*12+nvl2(comm,comm,0)as 哈哈 from emp;

--decode函数
select product_id,decode(warehouse_id,1,Southlake,
2,San Francisco,
3,New Jersey,
4,Seattle,
Non domestic) "location"
from emp

 

select table_name from all_tables where owner =‘dog‘create user yyy identified by 123--授权grant connect,resource to yyy
create table emple(       empId number primary key,       empName nvarchar2(32))


grant connect,resource to scott 
--解er s锁alter user scott account unlock;
//查询news表--获取5到9的数据select * from(  select temp.*,rownum rn from     (      select emp.* from emp      order by sal desc    ) tempwhere rownum<=9)where rn>=5
SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM emp) A )WHERE RN BETWEEN 21 AND 40--大小写控制函数--转换大写select upper(‘scott‘) from dual;--转换小写select lower(‘Aa‘) from dual;--首字母大写select initcap(‘aa‘) from dual;--字符控制函数--拼接select concat(‘happy‘,‘boy‘) from dual;--截取select substr(‘happy‘,1) from dual;--字符字数统计select length(‘abbbb‘) from dual;--字节字数统计select lengthb(‘ab‘) from dual;--从第三个位置找or第二次出现的位置select instr(‘corporate floor‘,‘or‘,3,2) "Instring" from dual;--从倒数第三个位置开始找or第二次出现的位置select instr(‘corporate floor‘,‘or‘,-3,2) "Instring" from dual;select instrb(‘corporate floor‘,‘or‘,5,2) "Instring in bytes" from dual;--lpad()和rpad() select lpad(‘happy‘,10,‘*‘) from dual;--trim()删除两边的字符串,该字符串可以指定select trim(‘t‘  from ‘techt‘) from dual;select trim(trailing ‘0‘ from ‘00100‘) from dual;
--日期函数--获取两日期之间的select months_between (to_date(‘02-02-1995‘,‘mm-dd-yyyy‘),to_date(‘01-02-1995‘,‘mm-dd-yyyy‘)) "Day"from dual;

--两个日期之间的天数select floor(sysdate-to_date(‘20040202‘,‘yyyymmdd‘)) from dual;--两个日期之间的月份select months_between(sysdate,to_date(‘20140204‘,‘yyyymmdd‘)) from dual;、--转换函数(隐式转化和显式转化)
--查询emp表中的 入职日期d-m-yselect * from emp where  hiredate=‘20-2月-81‘;--转化成字符(sysdate 指的是当前时间)select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual;--将emp表中的所有sal工资,转换成某种形式,第二个参数为形式select to_char(sal,‘99,999.99‘) from emp;select sal from emp;--round(第二个参数为小数点后的第几位,第一位下标为1)四舍五入select round(12.46,1) from dual;--通用函数--滤空函数
select sal*12工资,comm 奖金,sal*12+nvl(comm,0) 哈哈 from emp;
select sal*12工资,comm 奖金,sal*12+nvl2(comm,comm,0)as 哈哈 from emp;
--decode函数select product_id,decode(warehouse_id,1,‘Southlake‘,2,‘San Francisco‘,3,‘New Jersey‘,4,‘Seattle‘,‘Non domestic‘) "location"from emp

oracle函数

标签:

原文地址:http://www.cnblogs.com/myhome-1/p/5811416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!