Skip to main content

%INTERNAL (SQL)

LOGICAL 形式の式を返す形式変換関数です。

構文

%INTERNAL(expression)

%INTERNAL expression

概要

%INTERNAL は、現在選択されているモード (表示モード) に関係なく、expression を LOGICAL 形式に変換します。LOGICAL 形式は、データのメモリ内形式です (処理が実行される形式)。通常、%INTERNAL は、SELECT リストの select-item で使用されます。

%INTERNAL は、WHERE 節内で使用できますが、%INTERNAL を使用すると指定されたフィールドでインデックスを使用できなくなり、%INTERNAL は、フィールドに既定の照合がある場合でも、すべての比較で無条件に大文字小文字を区別するので、使用しないことを強くお勧めします。

%INTERNAL を適用すると、列見出し名が “Expression_1” などの値に変更されます。したがって、後述の例で示すように、通常は列名のエイリアスを指定することをお勧めします。

%INTERNAL は、データ型 %Date の値を INTEGER データ型の値に変換します。%INTERNAL は、データ型 %Time の値を NUMERIC (15,9) データ型の値に変換します。この変換が行われるのは、ODBC または JDBC のクライアントで InterSystems IRIS の論理 %Date 値および %Time 値が認識されないためです。

%INTERNAL による変換にかかわらず、日付は、日付フィールドまたは関数によって返されるデータ型に依存しています。%INTERNAL は、CURDATECURRENT_DATECURTIME、および CURRENT_TIME の値を変換します。CURRENT_TIMESTAMPGETDATEGETUTCDATENOW、および $HOROLOG の値は変換しません。

ストリーム・フィールドは、すべての形式変換関数を含めて、ObjectScript の単項関数に対する引数に指定することはできません。ただし、%INTERNAL は例外です。%INTERNAL 関数では、expression の値としてストリーム・フィールドが許可されますが、そのストリーム・フィールドに対する操作は実行されません。

%INTERNAL は、InterSystems SQL の拡張です。

現在の選択モードに関係なく expression を DISPLAY 形式に変換するには、%EXTERNAL 関数を使用します。現在の選択モードに関係なく expression を ODBC 形式に変換するには、%ODBCOUT 関数を使用します。

表示形式オプションの詳細は、"データ表示オプション" を参照してください。

引数

expression

変換される式。 フィールド名、フィールド名を含む式、または変換可能なデータ型で値を返す関数 (DATE や %List など)。

以下の例では、DOB (誕生日) データ値を現在の選択モード形式で返し、%INTERNAL 関数を使用して同じデータを返します。

SELECT TOP 5 DOB,%INTERNAL(DOB) AS IntDOB
FROM Sample.Person

以下の例では、この関数の 2 つの構文形式を示します。それ以外は同じです。%List フィールドの %EXTERNAL (DISPLAY 形式)、%INTERNAL (LOGICAL 形式)、および %ODBCOUT (ODBC 形式) を指定します。

SELECT TOP 10 %EXTERNAL(FavoriteColors) AS ExtColors,
              %INTERNAL(FavoriteColors) AS IntColors,
              %ODBCOUT(FavoriteColors) AS ODBCColors
FROM Sample.Person
SELECT TOP 10 %EXTERNAL FavoriteColors AS ExtColors,
              %INTERNAL FavoriteColors AS IntColors,
              %ODBCOUT FavoriteColors AS ODBCColors
FROM Sample.Person

関連項目

FeedbackOpens in a new tab