sqlite

Database; use; embedded relational database

null

英[n?l] 美[n?l ]

adj.<Technology> Zero value; equal to zero; (agreement) has no legal effect; invalid

SQLite NULL function syntax

Function:SQLite's NULL is used to represent an item with a missing value. A NULL value in a table is a value that appears as blank in the field. A field with a NULL value is a field with no value. It is important to understand that NULL values ??are different from zero values ??or fields containing spaces.

Syntax: The basic syntax for using NULL when creating a table is as follows:

SQLite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

Here, NOT NULL means that the column always accepts the given data Explicit value of type. There are two columns here that we are not using NOT NULL, which means that these two columns cannot be NULL.

Fields with NULL values ??can be left empty when records are created.

SQLite NULL function example

NULL 值在選擇數(shù)據(jù)時(shí)會(huì)引起問題,因?yàn)楫?dāng)把一個(gè)未知的值與另一個(gè)值進(jìn)行比較時(shí),結(jié)果總是未知的,且不會(huì)包含在最后的結(jié)果中。假設(shè)有下面的表,COMPANY 的記錄如下所示:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

讓我們使用 UPDATE 語句來設(shè)置一些允許空值的值為 NULL,如下所示:

sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);

現(xiàn)在,COMPANY 表的記錄如下所示:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22
7           James       24

接下來,讓我們看看 IS NOT NULL 運(yùn)算符的用法,它用來列出所有 SALARY 不為 NULL 的記錄:

sqlite> SELECT  ID, NAME, AGE, ADDRESS, SALARY
        FROM COMPANY
        WHERE SALARY IS NOT NULL;

上面的 SQLite 語句將產(chǎn)生下面的結(jié)果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

下面是 IS NULL 運(yùn)算符的用法,將列出所有 SALARY 為 NULL 的記錄:

sqlite> SELECT  ID, NAME, AGE, ADDRESS, SALARY
        FROM COMPANY
        WHERE SALARY IS NULL;

上面的 SQLite 語句將產(chǎn)生下面的結(jié)果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22
7           James       24