成人欧美一区二区三区的电影,日韩一级一欧美一级国产,国产成人国拍亚洲精品,无码人妻精品一区二区三区毛片,伊人久久无码大香线蕉综合

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

sql null和(‘ ‘)和(‘‘)的區(qū)別

liguoquan
2025年10月9日 15:53 本文熱度 582
:sql null和(‘ ‘)和(‘‘)的區(qū)別


    1 背景

    NULL也就是字段值為空,空值也就是字段中存儲空字符(‘’),要注意空字符(‘’)和含有空格的字符是不一樣的(’ ')

    2 區(qū)別

    2.1 占用空間區(qū)別

    select length(NULL), length(''), Length(' '),length(0);
    --->NULL,0,1,1
    
    • 1
    • 2

    從上面看出空值(‘’)的長度是0,是不占用空間的;含有一個空格的(’ ')長度為1,是占用空間的;而NULL長度是NULL,實際上它也是占用空間的

    通俗的講:空值就像是一個真空轉態(tài)杯子,什么都沒有,而NULL值就是一個裝滿空氣的杯子,雖然看起來都是一樣的,但是有著本質(zhì)的區(qū)別。

    2.2 插入/查詢方式區(qū)別

    創(chuàng)建一個表,tb_test

    CREATE TABLE `tb_test` (
    `one` varchar(10) NOT NULL,
    `two` varchar(255) DEFAULT NULL )
    ENGINE=InnoDB DEFAULT CHARSET=utf8; 
    
    • 1
    • 2
    • 3
    • 4

    插入進行驗證:
    – 全部插入 NULL,失敗

    mysql> INSERT tb_test VALUES (NULL,NULL); 
    1048 - Column 'one' cannot be null
    
    • 1
    • 2

    – 全部插入 空值,成功

    mysql> INSERT tb_test VALUES ('','');
     Query OK, 1 row affected
    
    • 1
    • 2

    模擬數(shù)據(jù):

    INSERT tb_test VALUES (1,NULL);
    INSERT tb_test VALUES ('',2);
    INSERT tb_test VALUES (3,3); 
    
    • 1
    • 2
    • 3

    空值字段:
    – 使用 is null/is not null

    mysql> SELECT * FROM tb_test where one is NULL;
    Empty
     mysql> SELECT * FROM tb_test where one is not NULL;
    | one | two  |
    | 1   | NULL | 
    |     | 2    | 
    | 3   | 3    |
    -- 使用 = 、!=
    mysql> SELECT * FROM tb_test where one = '';
    | one | two |
    |     | 2   |
    mysql> SELECT * FROM tb_test where one != '';
    | one | two  |
    | 1   | NULL |
    | 3   | 3    |
    NULL值字段:
    -- 使用 is null/is not null
    mysql> SELECT * FROM tb_test where two is not NULL;
    | one | two |
    |     | 2   | 
    | 3   | 3   |
    mysql> SELECT * FROM tb_test where two is NULL;
    | one | two |
    | 1   | NULL|
    -- 使用 = 、!=
    mysql> SELECT * FROM tb_test where two = '';
    Empty set
    mysql> SELECT * FROM tb_test where two != '';
    | one | two |
    |  2 | | 3 | 3 |
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    如果要單純查NULL值列,則使用 is NULL去查,單純?nèi)ゲ榭罩?‘’)列,則使用 =‘’,并且='‘與= ’ ‘結果一樣。
    建議查詢方式:NULL值查詢使用is null/is not null查詢,而空值(’’)可以使用=或者!=、<、>等算術運算符。

    3 總結

    1、空值不占空間,NULL值占空間。當字段不為NULL時,也可以插入空值。
    2、當使用 IS NOT NULL 或者 IS NULL 時,只能查出字段中沒有不為NULL的或者為 NULL 的,不能查出空值。
    3、判斷NULL 用IS NULL 或者 is not null,SQL 語句函數(shù)中可以使用IFNULL()函數(shù)來進行處理,判斷空字符用 =‘‘或者<>’‘來進行處理。
    4、在進行count()統(tǒng)計某列的記錄數(shù)的時候,如果采用的NULL值,會別系統(tǒng)自動忽略掉,但是空值(’’)是會進行統(tǒng)計到其中的。
    5、實際到底是使用NULL值還是空值(‘’),根據(jù)實際業(yè)務來進行區(qū)分。int類型盡量默認為’0’


    該文章在 2025/10/9 15:53:01 編輯過
    關鍵字查詢
    相關文章
    正在查詢...
    點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
    點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
    點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved