Oracle資料庫中的 與NULL的關係

2021-09-01 22:15:48 字數 624 閱讀 8277

在oracle資料庫中''與null是等價的。均表示空值,而不是類似其他資料庫上''表示空串,null表示空值。

oracle

允許任何一種資料型別的字段為空,除了以下兩種情況: 1

、主鍵字段(primary key), 2

、定義時已經加了not null限制條件的字段

說明:

1、null等價於沒有任何值、是未知數。 2

、null與0、空字串、空格都不同。 3

、對空值做加、減、乘、除等運算操作,結果仍為空。 4

、null的處理使用nvl函式。 5

、比較時使用關鍵字用「is null」和「is not null」。不能用等於、不等於、大於或小於和其它數值比較,當然也包括空值本身(但是在decode中例外,兩個空值被認為是等價) 6

、空值不能被索引,所以查詢時有些符合條件的資料可能查不出來,count(*)中,用nvl(列名,0)處理後再查。 7

、排序時比其他資料都大(索引預設是降序排列,小→大),所以null值總是排在最後。 8

、在where條件中,oracle認為結果為null的條件為false,帶有這樣條件的select語句不返回行,也不返回錯誤資訊。

資料庫 Oracle中建立資料庫

create database lihua 網上的說法是 oracle中的例項只對應乙個資料庫,出現此種情況說明oracle資料庫處於mount 裝載 或open狀態,需要使用startup nomount語句進行狀態更改,或者是直接使用dbca的圖形介面來建立 注 經測試,startup nomo...

Oracle資料庫中 in與exists語句的區別

一 in的理解 如sql select from t1 where x in select y from t2 中,先執行select y from t2,等價於select from t1,select distinct y from t2 t2 wheret1.x t2.y。可以理解為 先進行子...

Oracle資料庫中rowid與rownum的區別

在查詢中,我們可以注意到,類似於 select xx from table where rownum n n 1 這樣的查詢是有正確含義的,而 select xx from table where rownum n 這樣的查詢只在n 1的時候成立,select xx from table where...