次の項目で、NULL 値のプロパティを詳しく説明します。
FALSE と UNKNOWN の相違 FALSE と UNKNOWN はどちらも値を返しませんが、FALSE と UNKNOWN の間には大きな論理的相違があります。false の反対 ("not false") は true ですが、UNKNOWN の反対は何かを知っていることを意味しません。たとえば、1 = 2
は false に評価され、1 != 2
(1 は 2 に等しくない) は true に評価されます。
ただし、比較の中に NULL がある場合は、式を否定しても、反対のロー・セットや反対の真の値は得られません。UNKNOWN 値は UNKNOWN のままです。
複数の NULL 値を 1 つの値で置き換える ISNULL 組み込み関数を使用して、複数の NULL 値を 1 つの特定の値と置き換えることができます。置換は表示目的のためだけに実行されます。実際のカラム値には影響しません。構文は次のとおりです。
ISNULL( expression, value )
たとえば、次の文を使用して Departments のすべてのローを選択し、すべての NULL 値を -1 という値でカラム DepartmentHeadID に表示します。
SELECT DepartmentID, DepartmentName, ISNULL( DepartmentHeadID, -1 ) AS DepartmentHead FROM Departments; |
NULL と評価される式 オペランドのいずれかが NULL 値の場合、算術演算子またはビット処理演算子のある式は NULL と評価されます。たとえば 1 + column1
は、column1 が NULL であれば NULL と評価されます。算術演算子とビット処理演算子を参照してください。
文字列と NULL の連結 文字列と NULL を連結すると、式は文字列と評価されます。たとえば、次の文は文字列 abcdef を返します。
SELECT 'abc' || NULL || 'def'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |