SQL Server中is null和0一樣嗎

時間 2021-08-14 09:12:54

1樓:傳說中的鷹王

1、最好的寫法是 (phoneno is null or phoneno ='')

null 和 '' 是不一樣的,跟'0'就更不一樣了。

2、sql server處理漢字沒有問題

3、匯入/匯出不能一步操作,但是可以建一個作業,批次處理你用查詢分析器看一下phoneno 的值是什麼啊!

如果是null 那就用phoneno is null如果是'' 那就用phoneno =''

如果是'0' 那就用 phoneno ='0'

如過有null,也有'',也有 '0' 那就用(phoneno is null or phoneno ='' or phoneno ='0')

2樓:匿名使用者

我在sql server 2008下使用後發現,is null和='0'不一樣的,對於資料的匯入匯出

3樓:孑然一身_超

isnumeric(mobile)=1

這樣限制就不會出現 null了

我限制手機號的**一直這樣跑的

4樓:波波他在路上

sql server中is null和='0'一樣嗎? 這二個不一樣。。null是值還不確定

sql server中如何理解:isnull(列名,0) 和 isnull(列名,0)<>0 的區別,能舉例說明,謝謝

5樓:jiawen廖

1、isnull(引數1,引數2),判斷引數1是否為null,如果是,返回引數2,否則返回引數1。

2、isnull(列名,0),isnull()函式是用來判斷列名是否為null,如果為null,則返回0,否則,返回列名的值。

3、<>:是不等號,與!=一樣  比如select 3 where 1<>2 查出來的結果是3,select 3 where 1<>1則查不出結果。

一、對於 isnull(列名,0),isnull 是一個函式,2個引數,如果第一個引數非空,那麼返回第一個引數,否則返回第二個引數。

二、例如有個圖書館的系統,在學生畢業離校前,需要查詢這個學生的借書數量:

select

學生表.學號,

isnull( sum( case when 借書表.還書標誌 = 0 then 1 else 0 end ) , 0) as 未還書數量

from

學生表 left join 借書表 on ( 學生表.學號 = 借書表.學號 )

group by

學生表.學號

6樓:匿名使用者

isnull(列名,0)這是個值,isnull(列名,0)<>0這是個布林值

前者就是1、2、3、4之類的值,後者就僅是true或false兩個值,用來判斷用的

7樓:匿名使用者

如題,顧名思義;

isnull(列名,0) 就是欄位的查詢結果為空就替換成0;

isnull(列名,0)<>0 這個比較前面一個就多了個判斷<> 不等於

很好理解的;

引用demo:

isnull(3,0) 返回的結果為 3 因為3 不是null.

isnull(列名,0)<>0: 先判斷 列名是否為null ,然後再與0比較 等於零返回結果為true 否則為false

sql中select語句的is null和=' '有什麼區別?

8樓:匿名使用者

select * from sc where grad is null grad是null,

select * from sc where grad = "" grad是""空字串

你要理解null與""的區別.

null 是沒有的意思 不佔用記憶體空間

""是空的字串 它是一個字串,不過裡面沒有內容

9樓:匿名使用者

我給你舉個例子吧,比如插入資料到表tbl,tbl有2個欄位id,name。

insert into tbl( id ,name ) values( 1, '' )

insert into tbl( id ) values( 1 )至於區別是怎麼回事我也說不清楚,不過這個時候就要用到這個區別。

10樓:虹玖天

is null用於查詢語句,=''用於更新語句

11樓:匿名使用者

select * from sc where grad is null 就是說查詢 sc 表中 grad列中不為空的選項

select * from sc where grad = "" 就是查詢sc表中 grad列中為空的選項

sql server 中的null和null的區別 20

12樓:匿名使用者

sql server 中的null和null的區別'' 表示空字串

null表示什麼都沒有,什麼都不是

判斷'' 用 ='' 或 <>'' , 而null 用is null 或is not null,欄位中如果出現null 會對查詢語句造成影響有可能導致索引失效,所以欄位中儘量不要出現null ,用'' 或其他字元代替 ,糾正一下其他人的觀點:null不代表空字串 哦, 代表表示什麼都沒有,什麼都不是,可以出現在任意型別欄位裡面(int,decimal,varchar 等等都可以是null),''只能在varchar,char型別裡面出現

13樓:尐i強

在資料是未知數或者無法使用時,大多數的資料庫管理系統將儲存一個叫做null值的特殊值。不要將它和零(一個合法數值)、零長度串(不含有字元的一種串資料型別)或空格字元混淆起來。sql-3標準中把一個null定義為:

“...一個用來指明任何資料值都不存在的一個特殊值...”

sqlserver中有一個空值呼叫函式:

isnull 功能:使用指定的替換值替換 null。

語法 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。

一個例子:

使用 isnull

下面的示例為 titles 表中的所有書選擇書名、型別及**。如果一個書名的**是 null,那麼在結果集中顯示的**為 0.00。

select substring(title, 1, 15) as title, type as type,

isnull(price, 0.00) as price

from titles

關於sql server中case when then中or的用法

case when中的各個條件不能有交集,否則會出現異常 該例的結果應該如下 select id,name score case when uscore 80 or cscore 90 then 優 when uscore 60 or cscore 70 then 不及格 else 中等 end f...

sql server 中 關於和declare的解釋,請看

表示區域性變數,表示全域性變數 declare 定義變數,變數第一個字母是 宣告時需要指定變數的型別。declare n int 其中int是使用整數資料的精確數字資料型別,從 2 31 2,147,483,648 到 2 31 1 2,147,483,647 的整型資料。 1.sql server...

SQL Server2019中如何獲取表中某幾列的資料型別

select c.name as col name t.name as type name from sys.columns as c inner join sys.types as t on c.user type id t.user type id where c.object id objec...