×

NULL Values در SQLite

فصل بیست و ششم :

NULL Values در SQLite

Null همانطور که قبلا هم توضیح داده شد به مقدار نامعلوم و نامشخص اطلاق میشود .
فیلدی که هنوز مقداری ندارد.
باز هم تاکید میکنم که null با یک رشته با طول صفر "" و یا عدد 0 متفاوت است.
SQLite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

یعنی فیلد های ID , NAME و AGE را نمی توان خالی و بدون مقدار رها کرد. یعنی نمی توانیم رکوردی دراین جدول داشته باشیم که این سه فیلد ان بدون مقدار باشند.

حالا دوباره برگردیم به جدول 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

    

دستور ذیل را اجرا کنید
sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
و نتیجه:
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

       

حالا اگر بخواهیم سلکتی بنویسیم که رکورد هایی را برای ما بیاورد که فیلد SALARY آنها Null است چه باید کرد؟ برای فهمیدن اینکه مقدار فیلدی برابر با NULL است از اپراتور = نمی توانیم استفاده کنیم بلکه باید از :

IS NULL

برای سنجش نال بودن مقدار موجود در فیلد ها استفاده کرد و همچنین برای نقیض آن از :

IS NOT NULL

استفاده میکینم .
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NOT NULL;

رکوردهایی از جدول COMANY را بیاور که مقدار فیلد SALARY آنها NULL نباشند.
و نتیجه :

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

                                        

حالا سلکتی بنویسید که رکورد هایی را بیاورد که مقدارSALARY آنها NULL باشند
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NULL;

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

                                         


مفاهیم و موضوعات این فصل عبارتند از :

  • NULL Values در SQLite

vatantop
نظرات و سوالات درج سوال/ نظر