Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » データのクエリ » WHERE 句:ローの指定

 

不定の値:NULL

カラムに NULL がある場合は、ユーザまたはアプリケーションがそのカラムになにも入力していないことを意味します。つまり、このカラムのデータ値は、不定か、使用不可です。

NULL は 0 (数値) やブランク (文字値) と同じではありません。むしろ、NULL 値によって、数値カラムの場合の 0 や文字カラムの場合のブランクなどの意図的な入力と、入力がない場合とを区別できます。入力が行われていない場合は、数値カラムと文字カラムは両方とも NULL です。

NULL の入力

NULL は、NULL 値が許可されたカラムにのみ入力できます。カラムに NULL 値が許可されるかどうかは、テーブルの作成時に決まります。カラムに NULL 値が許可されることを前提として、NULL を挿入します。

  • デフォルト   データが入力されず、カラムに他のデフォルト設定がない場合。

  • 明示的な入力   引用符なしで NULL と明示的に挿入できます。NULL という単語を引用符をつけて文字カラムに入力すると、NULL は NULL 値としてではなく、1 つのデータとして処理されます。

たとえば、Departments テーブルの DepartmentHeadID カラムは NULL 値を許可します。次のように、マネージャのいない部署のローを 2 種類入力できます。

INSERT INTO Departments (DepartmentID, DepartmentName)
   VALUES (201, 'Eastern Sales')
INSERT INTO Departments
   VALUES (202, 'Western Sales', null);
NULL 値を返す

NULL 値は他の値とまったく同じように、クライアントアプリケーションに返され、表示されます。たとえば、次の例では、Interactive SQL で NULL 値がどのように表示されるかを示しています。

SELECT *
FROM Departments;
DepartmentID DepartmentName DepartmentHeadID
100 R & D 501
200 Sales 904
300 Finance 1293
400 Marketing 1576
500 Shipping 703
201 Eastern Sales (null)
202 Western Sales (null)