您的位置:首页 > 数据库 > Oracle

Oracle之我见

2016-07-19 16:24 543 查看
--1,使用单行字符型函数的实例

--1.1 查询

select empno,ename,job

from  emp

where job='salesman'

--错误,无结果

--正确的

select empno as "Code",upper(ename) NAME,initcap(job) "Job"

from emp

where lower(job)='salesman'

--1.2 查询

select concat(ename,job) "Employee",substr(job,1,5) "Title",

       length(ename) "Length",instr(job,'M')

from emp

where lower(job)='salesman'

--2,数字型函数

--round 四舍五入

--trunc 截取到小树点后n

--mod (m ,n ) m%n

--2.1

select round(168.333,1),trunc(168.333,1)

from dual;  

--2.2

select round(168.888,0),trunc(168.888,0)

from dual;  

--2.3

select round(168.888),trunc(168.888)

from dual

--2.4

select round(168.888,-1),trunc(168.888,-1)

from dual

--2.5

select mod(1900,400)

from dual

--3 日期型数据的处理

alter session set NLS_DATE_LANGUAGE='AMERICAN';

--3.1 日期型数据和一个数字相加减,救过仍为日期型

select sysdate-20

from dual

--两个日期型数据相加减,结果为数字型

select sysdate-to_date('15-JUL-02')

from dual

--或者

select sysdate-to_date('2015-6-02','yyyy-mm-dd')

from dual

--3.2查询所有推销员的工龄

select empno,ename,job,sal,(sysdate-hiredate)/365 "Years"

from emp

where job like 'SAL%'

--4 常用的日期函数:

      /* 4.1

          MOTHS_BETWEEN(日期1,日期2):

         该函数返回月数。

      */

--4.1

select months_between('01-JUL-99','03-FEB-98')  

from dual  

     /* 4.2

       add_months(日期,n)

       把n个月加到日期上

     */       

select add_months(to_date('2015/10/01','yyyy/mm/dd'),8)

from dual

      /* 4.3

         next_day(日期,字符串):

         返回下一个由字符串(星期几)指定的日期

      */ 

select next_day('2016/7/02','星期一')

from dual

select next_day(to_date('2016/7/19','yyyy/mm/dd'),'星期一')

from dual

     /* 4.3

         last_day(日期 )

         返回该日期所在月的最后一天

      */ 

--示例<1>

select last_day('19-JULY-16')

from dual;

--示例<2>

select ename,hiredate,last_day(hiredate),next_day(hiredate,'SUNDAY'),

months_between(sysdate,hiredate) "Months",

add_months(hiredate,3) "Review"

from emp

--5, round和trunc 函数用于日期型数据

select round(to_date('28-OCT-01'),'MONTH')

from dual
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: