從兩個表示式返回乙個非 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 代表小時,格...