⑴ sql server 中的null和null的區別
sql server 中的null和null的區別
'' 表示空字元串
null表示什麼都沒有,什麼都不是
判斷'' 用 ='' 或 <>'' , 而null 用is null 或is not null,欄位中如果出現null 會對查詢語句造成影響有可能導致索引失效,所以欄位中盡量不要出現null ,用'' 或其他字元代替 ,糾正一下其他人的觀點:null不代表空字元串 哦, 代表表示什麼都沒有,什麼都不是,可以出現在任意類型欄位裡面(int,decimal,varchar 等等都可以是null),''只能在varchar,char類型裡面出現
⑵ SQL Server中,null 與not null 在什麼時候用
SQL Server中空值以「null」表示。
要測試一個「對象」為空值時得到結果為真的話,用以下語句:"對象 IS NULL"。
要測試一個「對象」不為空值時得到結果為真的話,用以下語句:"對象 IS NOT NULL"。
例:
DECLARE@AINT--隨便定義一個變數
SET@A=NULL--讓這個變數為空值
IF@AISNULL--如果為空
BEGIN
SELECT'AA'ASLS
ENDELSEBEGIN
SELECT'BB'ASLS
END
--運行結果AA
IF@AISNOTNULL--如果不為空
SELECT'AA'ASLS
ELSE
SELECT'BB'ASLS
--運行結果BB
SET@A=1--讓這個變數為1
IF@AISNULL--如果為空
BEGIN
SELECT'AA'ASLS
ENDELSEBEGIN
SELECT'BB'ASLS
END
--運行結果BB
IF@AISNOTNULL--如果不為空
SELECT'AA'ASLS
ELSE
SELECT'BB'ASLS
--運行結果AA
相關知識點延伸:
1、「null」的意思是「空值」。「not null」是not(否)運算,加null(空值),意思即「不是空值」。
2、實際運用中,一般還要加一個「IS」:
如「is null」如果是空值返回「真」。
如「is not null」如果不是空值返回「真」。
3、在SQL Server中,空值不應該與實際數值比較大小,但不禁止(不報錯)比較大小,如果進行比較,結果將為「否」。也就是說:
「1>null」,「1=null」,「1<null」
的邏輯運算結果都為否。
需要注意的是,要判定一個值是否為空
3、在實際工作中,如果針對某個含有空值的欄位根據大小值進行查詢的話,如果沒考慮到,就會出現:
大於某值的記錄數 (+) 小於或等於某值的記錄數 (不等於) 總的記錄數
此外,多表聯查時,如果沒考慮到空值可能會出現意外的數據查詢錯誤。
⑶ SQL支持NULL(空值)的概念,NULL是指( )
選:C
空值和null是不同的,空值是指沒有放任何數據,只有
「」而null是指不確定的值,可能有也可能沒有
⑷ sql 資料庫 NULL 和 空字元串的區別
SQL里的NULL是真實的空,在存儲上並未分配存儲空間
空字元串,在存儲上已經分配存儲空間,但是是空內容。
兩者在SQL中的判斷也不一樣
NULL的判斷: 欄位名 is null
空字元串:欄位名=''
兩者可以合並判斷:
if isnull(欄位名,'')=''
print '空'
else
print '非空'
⑸ sql 資料庫 NULL 和 空字元串的區別
資料庫中的
NULL:表示「沒有對(列)變數輸入數據」,即在資料庫中的NULL可以區分「沒有對(列)變數輸入數據」和「有對(列)變數輸入數據」這兩類情況。
空字元串:則是這里的「有對(列)變數輸入數據」這一類情況,即有輸入數據,只是輸入的數據為空字元串(含有終止符的還是)。
MSSQL對與NULL和空字元串的判斷
123456--1、NULL判斷select * from 表名 where 列名 is null--2、空字元串判斷select * from 表名 where 列名=''--3、NULL和空字元串一並判斷select * from 表名 where isnull(列名,'')=''
⑹ SQL查詢結果中的NULL代表什麼意思
Null是在計算中具有保留的值。
Null用於指示指針不引用有效對象。程序通常使用空指針來表示條件,例如未知長度列表的結尾或未執行某些操作; 這種空指針的使用可以與可空類型和選項類型中的Nothing值進行比較。
空指針不應與未初始化的指針混淆,保證空指針與指向有效對象的任何指針進行比較。但是,根據語言和實現,未初始化的指針可能沒有任何此類保證。它可能與其他有效指針相等; 或者它可能比較等於空指針。它可能在不同的時間做兩件事。
(6)sql里的null是什麼意思擴展閱讀:
空字元通常表示為源代碼字元串字元或字元常量中的轉義序列。在許多語言,這不是一個單獨的轉義序列,而是八進制轉義序列,單個八進制數字為0。
因此,『 』不能跟隨任何數字0通過7;否則它被解釋為更長的八進制轉義序列的開始。被在使用中發現各種語言的其他轉義序列 00,x00,z,或的Unicode表示u0000。
表示空字元的能力並不總是意味著生成的字元串將被正確解釋,因為許多程序將認為null作為字元串的結尾。因此,鍵入它的能力會創建一個稱為空位元組注入的漏洞,並可能導致安全漏洞。
⑺ SQL查詢結果中的NULL代表什麼意思
null事實上代表的意思是「不知道」,和「空」(empty)還是有細微的區別的:
創建數據表的時候某列(假設為title)的約束條件為不允許為「不知道」,寫為not
null;即不允許不為該列賦值;
此後你在使用SQL將其賦值為null(update
……
set
titile=null或者insert
into……values
(null,))等時,會報錯。但是如果將其賦值為空('')時,則不會報錯。
另外在select查詢時,where子句中如果查詢為null的應該為
where
title
is
null,不為null的是where
title
is
not
null;
而查詢為空的則是where
title=''
不為空的是
where
title<>'',簡單描述,希望能幫到你。
⑻ mysql資料庫裡面的NULL屬性是什麼意思
允許空值的意思。
允許空值和有默認值並不沖突,插入數據時如果指定使用默認值,它會使用這個默認值0,如果插入數據時不指定這一列,它會保持空值。
空值是不佔用空間的,MySQL中的NULL其實是佔用空間的。
(8)sql里的null是什麼意思擴展閱讀:
使用NULL可以區分「沒有輸入數據」和「輸入空數據」, 差異在於:
NULL的長度就是NULL,空字元串的長度為0。
一串NULL數據比空字元串優先排序。
COUNT(message)會將空字元串計數進去,但是不會將NULL數據們計入。
可以使用綁定變數搜索某個空字元串,但是不可以這樣搜索NULL。
在SQL中,NULL值與任何其它值的比較(即使是NULL)永遠不會為「真」。包含NULL的表達式總是會導出NULL值,除非在關於操作符的文檔中以及表達式的函數中作了其他規定。
⑼ 請問 SQL資料庫中的 null 與 空值 有什麼區別
在sql中NULL就是空值,通常都是管NULL叫空值,但是這種叫法不準確,因為null不是值,它表示數值未知或者不確定
⑽ 這句sql里的null是什麼意思
你好,向你講解一下SQL中null空值:
在
SQL
語句中,
NULL
值與字元列中的空格,
數字中的零,
字元列中的
NULL
ASCII
字元都不相同。
在sql中null是一種數據類型,null不能與任何列或者變數使用"="或者"!="去比較,判斷某列或者變數為null是只能用
is
(not)
null
去判斷這樣他的返回值才是true或者false。
一、關於null的運用
1、NULL值與索引
如果一個列中有NULL值,那麼不可以在這個列上建唯一索引,可以建立非唯一索引;但是如果一個欄位有很多行有NULL值,那麼在這個欄位上建索引效果不佳。所以建議不在在一個頻繁出現NULL值的欄位上建索引。
2、NULL與排序
NULL參與排序時總是作為最小值存在,即ORDER
BY
COL
ASC時COL為NULL的行在最前面,反之在最後面。
二、IsNull的用法:使用指定的替換值替換
NULL。
語法
ISNULL
(
check_expression
,
replacement_value
)
參數
check_expression
將被檢查是否為
NULL的表達式。check_expression
可以是任何類型的。
replacement_value
在
check_expression
為
NULL時將返回的表達式。replacement_value
必須與
check_expresssion
具有相同的類型。
返回類型
返回與
check_expression
相同的類型。
如果文字
NULL
作為
check_expression
提供,則返回
replacement_value
的數據類型。
如果文字
NULL
作為
check_expression
提供並且未提供
replacement_value,則返回
int。
注釋
如果
check_expression
不為
NULL,則返回它的值;否則,在將
replacement_value
隱式轉換為
check_expression
的類型(如果這兩個類型不同)後,則返回前者。
如果
replacement_value
比
check_expression
長,則可以截斷
replacement_value。
注意:
請勿使用
ISNULL
查找
NULL
值。
而應使用
IS
NULL。
參考資料:
http://www.studyofnet.com/news/111.html
希望以上的回答對你有幫助!