oracle與MSSQL函式對比記憶

2021-06-21 21:55:55 字數 2593 閱讀 8088

從兩個表示式返回乙個非 null 值。 

語法nvl(eexpression1, eexpression2) 

引數eexpression1, eexpression2 

如果 eexpression1 的計算結果為 null 值,則 nvl( ) 返回 eexpression2。如果 eexpression1 的計算結果不是 null 值,則返回 eexpression1。eexpression1 和 eexpression2 可以是任意一種資料型別。如果 eexpression1 與 eexpression2 的結果皆為 null 值,則 nvl( ) 返回 .null.。 

返回值型別

字元型、日期型、日期時間型、數值型、貨幣型、邏輯型或 null 值 

說明在不支援 null 值或 null 值無關緊要的情況下,可以使用 nvl( ) 來移去計算或操作中的 null 值。

select nvl(a.name,'空得') as name from student a join school b on a.id=b.id

注意:兩個引數得型別要匹配

語法    

isnull ( check_expression , replacement_value) 

引數check_expression 

將被檢查是否為    null的表示式。check_expression    可以是任何型別的。    

replacement_value    

在    check_expression    為    null時將返回的表示式。replacement_value    必須與    check_expresssion    具有相同的型別。      

返回型別

返回與    check_expression    相同的型別。    

注釋如果    check_expression    不為    null,那麼返回該表示式的值;否則返回    replacement_value。

2.sql:select top 10 * from rownum_test rt;

oracle:rownum和row_number() over() 

select * from (select a.* from torderdetail a order by order_date desc) where rownum <= 10

3.oracle trunc()函式的用法

/**************日期********************/

1.select trunc(sysdate) from dual  

--2011-3-18  今天的日期為2011-3-18

2.select trunc(sysdate, 'mm')   from   dual  

--2011-3-1    返回當月第一天.

3.select trunc(sysdate,'yy') from dual

--2011-1-1       返回當年第一天

4.select trunc(sysdate,'dd') from dual

--2011-3-18    返回當前年月日

5.select trunc(sysdate,'yyyy') from dual

--2011-1-1   返回當年第一天

6.select trunc(sysdate,'d') from dual

--2011-3-13 (星期天)返回當前星期的第一天

7.select trunc(sysdate, 'hh') from dual 

--2011-3-18 14:00:00   當前時間為14:41   

8.select trunc(sysdate, 'mi') from dual 

--2011-3-18 14:41:00   trunc()函式沒有秒的精確

/***************數字********************/

/*trunc(number,num_digits) 

number 需要截尾取整的數字。 

num_digits 用於指定取整精度的數字。num_digits 的預設值為 0。

trunc()函式擷取時不進行四捨五入

*/9.select trunc(123.458) from dual

--123

10.select trunc(123.458,0) from dual

--123

11.select trunc(123.458,1) from dual 

--123.4

12.select trunc(123.458,-1) from dual

--120

13.select trunc(123.458,-4) from dual

--014.select trunc(123.458,4) from dual

--123.458

15.select trunc(123) from dual

--123

16.select trunc(123,1) from dual

--123

17.select trunc(123,-1) from dual

--120

MSSql 與Oracle常用函式整理 二

1 在指定位置附加逗號,注意逗號不能出現於格式字串首位,並且對於小數點的數字無效 select to char 4389999.00,999,999,999 from dual 前後格式位數必須對應 4,389,999 2 按指定格式顯示小數點及小數點後位置 指定數字沒有小數的話,以0補足 sele...

ORACLE與MS SQL的區別

接觸oracle兩個月,用了點皮毛,到今天能順利的完成這個專案,真是謝天謝地謝先人了。做開發的人總是把oracle說的很牛,很高深莫測,可我並沒有用那麼多,僅僅是用它建個表 設個主鍵 連個關係,然後用oracleclient元件去連線訪問而已。但oracle不同版本之間的隔閡還是讓我吃了苦頭,8i取...

mysql與oracle等同功能的函式對比

oracle中的nvl函式等同於myslq中的ifnull函式,具體請參照文件 oracle中to char函式等同與mysql中的date format date,y m d 具體請參照 y 代表4位的年份 m 代表月,格式為 01 12 d 代表月份中的天數,格式為 00 31 h 代表小時,格...