1. 程式人生 > >oracle中的add_months()函式總結

oracle中的add_months()函式總結

oracle中的常用的函式的總結:

1、add_months(x,y)或者add_months(times,months)函式:
    (1)用途:這個函式用於計算在時間x之上機上Y個月後的時間值,要是Y的值為負數的話就是在
           這個時間點之間的時間值(這個時間-Y個月)。
    (2)用法例項:
        A:--從emp表查詢列出來公司就職時間超過24年的員工名單

            select ename, hiredate
              from emp
             where hiredate <= add_months(sysdate, -288);--負數代表系統時間(sysdate)之前的24年的時間-288 = -24*12

        B:--查詢出在員工'SCOTT'入職一年後入職的員工的資訊
            select ename, a.hiredate, sal
              from emp a, (select hiredate from emp where ename = 'SCOTT') b
             where a.hiredate > = add_months(b.hiredate, 12);

            解析:上面的查詢思路如下
            a:在from語句的後面將員工'SCOTT'的入職時間查出放在一個表裡,表的別名為b
            b:將上面的b表再次作為查詢表

            c:然後利用add_months(x,y)函式在b表的hiredate之後的12個月作為查詢條件
        C:--查詢半年前的時間
            select add_months(sysdate,-6) from dual;

            解析:dual是oracle提供的最小功能表,它只有一行一列

相關推薦

Oracleadd_months()函式的用法

查詢當前時間1個月以前的時間: select add_months(sysdate,-1) from dual; 查詢當前時間1個月以後的時間:   select add_months(sysdate,1) from dual;   如對公司員工表:查詢2年前進入公司的員工的姓

oracleadd_months()函式總結

oracle中的常用的函式的總結:1、add_months(x,y)或者add_months(times,months)函式:    (1)用途:這個函式用於計算在時間x之上機上Y個月後的時間值,要是Y的值為負數的話就是在           這個時間點之間的時間值(這個時間

轉:ORACLE ROWNUM用法總結!

oracle 分頁查詢語句:select * from (select u.*,rownum r from (select * from userifno) u where rownum<大值) where r>小值 問題: ①為什麼一定要用  u.*?    原因:Or

oracle資料庫總結(七)--ORACLE ROWNUM用法總結! (轉)

來自:http://www.cnblogs.com/chinhr/archive/2007/09/30/911685.html   ORACLE 中ROWNUM用法總結!  對於 Oracle 的 rownum 問題,很多資料都說不支援>,>=,=,betwe

oracleadd_months和trunc用法

  oracle中add_months和trunc用法 2012-06-13 13:45  646人閱讀  評論(0)  收藏  舉報 oracle date sql 工作

【轉載】oracledecode函式用法

1、DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else)。表示假設value 等於if1時,DECODE函式的結果返回then1,...,假設不等於不論什麼一個if值。則返回else 2、該函式的含義例如以下:  IF 條件=值1 TH

Oracleinstr函式使用方法

在Oracle/PLSQL中,instr函式返回要擷取的字串在源字串中的位置。只檢索一次,就是說從字元的開始到字元的結尾就結束 INSTR (源字串, 目標字串, 起始位置, 匹配序號)   在Oracle/PLSQL中,instr函式返回要擷取的字串在源字串中的位置。只檢

ORACLE部分函式的用法

select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,…,else)

Oracle】常用函式總結

一、前言 有那麼一段時間,確切的是有近一年的時間,沒有總結什麼。總覺的簡單的東西不想寫了,如果不深奧,不高階,不繫統就不寫,就這樣,近一年的時間我似乎沒有研究什麼新技術,但也確實實踐了很多之前沒有用過的東西,不過似乎不算深入,說來羞愧的不行。不過現在想想記錄下自己之前用過的哪怕一點點簡單的東

ORACLE ROWNUM用法總結!

對於 Oracle 的 rownum 問題,很多資料都說不支援>,>=,=,between...and,只能用以上符號(<、<=、!=),並非說用>,& gt;=,=,between..and 時會提示SQL語法錯誤,而是經常是查不出一條

Oracle工作常用函式總結

一、常用函式詳解 【a】nvl(a,b)函式: 如果a的值為空,那麼取b的值 with temp1 as (select '張三' as name, '10' as text from dual), temp2 as (select '' as name, '20'

oracleround函式的使用

Round 函式  語法為ROUND(number,num_digits) 其中Number是需要進行四捨五入的數字;Num_digits為指定的位數,按此位數進行四捨五入, 如果 num_digits 大於 0,則四捨五入到指定的小數位,如果 num_digits 等於

Oracle呼叫函式的5種方法

--表主體: SQL> SELECT * FROM emp_pl; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- -

網路程式設計重要函式總結:如何判斷socket關閉

1、阻塞模式與非阻塞模式下recv的返回值各代表什麼意思?有沒有區別?(就我目前瞭解阻塞與非阻塞recv返回值沒有區分,都是 <0:出錯,=0:連線關閉,>0接收到資料大小,特別:返回值 <0時並且(errno == EINTR || errno == EWOULDBLOCK |

分組函式group by和Oracle分析函式partition by的用法以及區別

       今天有個同事給我打電話問我題目列出的這個問題,在日常開發中,確實它們倆都是與分組有關的,但是需要注意的是一個是分組函式另一個是分析函式,講解用到的表就以Oracle中schema的scott的EMP表和DEPT表為例做講解:        老總下命令說:需要統

oracle填充函式lpad/rpad的使用

Lpad 1.語法     Lpad(string,pad_length,[pad_str]) 2.解釋     該函式表示從字串的左邊開始填充指定的字元到指定的長度。字串的空格也是算入長度中

oracle函式介紹(一):nvl函式、decode函式、case when函式、sum函式

最近做專案接觸到的oracle資料庫比較多,經常用到裡面的一些函式,以前的部落格中也介紹過行轉列和列轉行,這次再簡單給大家介紹幾個: nvl() NVL(a,b)就是判斷a是否是NULL,如果不

Oraclecoalesce函式的用法

學習了幾天教主的書,今天看到coalesce函式,功能很強大啊!coalesce函式的引數是列,結果是取出第一個不為空的列的資料。 首先,建一個檢視: CREATEORREPLACEVIEW v ASSELECTNULLAS c1,NULLAS c2,1 AS 

oracleto_char函式轉換數字格式不正確的問題

今天在工作中遇到將金額的number型別轉換成char型別,但是使用to_char()函式顯示的結果一直期望的結果。經過在網上查閱一番,總結如下: 我們使用Oracle 的SQL 函式 to_char可以實現這種轉換。 這個函式用來將DATE或NUMBER

Oraclereplace函式的使用

例: select filefullname from sys_frmattachmentdb 查詢的結果為: e:\GengBaoFile\TYGW\《歷城區專案立項審批流程》.1079\\3186.通用流程專案資料.jpg 需求: 要將結果中的“歷城區”修改為"北京