BOOLEAN(ブーリアン)
BOOLEANデータタイプは、以下の注釈に記載されている例外を除いて、ANSI/ISO 2011(ドラフト)に準拠しています。
標準準拠のBOOLEAN動作のオーバーライドで説明されているように、サーバー構成パラメーターを使用して古い動作を強制することはできますが、以前の動作は非推奨になりました。
•文字列リテラル「true」、「false」、および「unknown」は、それぞれCASTからBOOLEAN値のTRUE、FALSE、およびUNKNOWN(NULL)にすることができます。リテラル値では大文字と小文字は区別されません。
•他の入力値はエラーになります。具体的には、ゼロ以外の数値をTRUEに暗黙的に変換し、ゼロの数値をFALSEに変換すると、エラーが発生します。
•BOOLEAN型は、CASTのない他の型と比較することはできません。
•非BOOLEAN型の値をBOOLEANターゲットに直接割り当てることはできません。キャストなし。 CASEを使用して、他のタイプの値をTRUE、FALSE、またはUNKNOWNに変換してから、それらの値をBOOLEANにキャストする必要があります。たとえば、CAST(BOOLEANとしての1)をTRUEに直接キャストすることはできません。
•BOOLEANタイプから非BOOLEANタイプに、またはその逆に変換することはできません。
•BOOLEAN値を関数の引数にすることはできません。具体的には、次の関数にBOOLEAN引数を許可する以前の動作では、エラーが発生します:CONCAT、DLE_DST、LE_DST、POSITION、REPEAT、TRIM、TS_FIRST_VALUE、およびXMLTEXT。
•BOOLEANタイプと値は、適切なCASTなしで非BOOLEANタイプと混合することはできません。
•標準の例外:TDVは、BOOLEAN引数の {IS | IS NOT} {TRUE | FALSE | UNKNOWN} をサポートしていません。
標準準拠のBOOLEAN動作のオーバーライド
構成パラメーターを使用して、ANSI準拠の新しい動作を抑制し、レガシーBOOLEANサポートを有効にすることができます。レガシーBOOLEANサポートは、CASTなしのBOOLEAN型と非BOOLEAN型の混合で構成されます。
レガシーBOOLEANサポートは、TDVバージョン7.0.2で非推奨になりました。
このパラメーターのデフォルト値はFalseです。
標準準拠のBOOLEAN動作をオーバーライドするには
1.Studioのメインメニューから[Administration(管理)] > [Configuration(構成)]を選択します。
2. [サーバー] > [SQLエンジン] > [SQL言語]に移動します。
3. パラメータ「AllowNumeric Boolean ComparisonsAssignments」を「True」に設定します。
値を変更しても、次のサーバーの再起動までは効果はありません。