一般的なデータ型クラス
ここでは、一般にリテラル・プロパティの定義に使用する、InterSystems IRIS データ型クラスの概要について説明します。各データ型クラスは、いくつかのキーワードを指定します。これらのキーワードにより、InterSystems SQL でのデータ型の使用方法や、クライアント・システムでのデータ型の投影方法を制御します。ニーズに応じた適切なクライアント・プロジェクションを持つクラスを選択する必要があります (該当する場合)。適切なクラスがない場合、"データ型クラスの定義" で説明するように、独自のデータ型クラスを作成できます。
各データ型クラスは 1 つ以上のプロパティ・パラメータも使用します。これらの既定値は、プロパティ定義内でオーバーライドできます。
概要
最も一般的に使用されるデータ型クラスは、以下のとおりです。
64 ビットの整数を保持します。このクラスは %IntegerOpens in a new tab と類似しています (OdbcType および ClientDataType を除く)。
バイナリ・データを保持します。実際のバイナリ・データを Unicode (またはその他) に変換せずにクライアントへ送信、またはクライアントから受信します。
ブーリアン値を保持します。可能な論理値は 0 (false) および 1 (true) です。
固定長の文字フィールドを保持します。
整数を保持します。固有のカウンタとしての使用を目的としています。タイプ・クラスが %CounterOpens in a new tab のプロパティには、新しいオブジェクトが保存されたとき、または SQL を使用して新しいレコードが挿入されたときに、値が割り当てられます (そのプロパティに値が指定されていない場合)。詳細は、"インターシステムズ・クラス・リファレンス" の "%CounterOpens in a new tab" を参照してください。
通貨値を保持します。このクラスは、Sybase または SQL Server から InterSystems IRIS への移行のためにのみ定義されます。
日付を保持します。論理値は InterSystems IRIS $HOROLOG 形式になります。
日付と時間を保持します。このクラスは、主に T-SQL の移行と datetime datetime/smalldatetime の動作を %TimeStampOpens in a new tab データ型にマップするために使用されます。この場合、DisplayToLogical() メソッドと OdbcToLogical() メソッドは、T-SQL アプリケーションでサポートされている不正確な datetime 値を処理するロジックを提供します。
固定小数点数を保持します。論理値は小数点形式の数です。"インターシステムズ・アプリケーションでの数値の計算" を参照してください。
IEEE 浮動小数点数を保持します。論理値は IEEE 浮動小数点数です。"インターシステムズ・アプリケーションでの数値の計算" を参照してください。
文字列を保持します。%StringOpens in a new tab の特殊サブクラスです。これにより、possible 値の列挙セットを (DISPLAYLIST および VALUELIST を使用して) 定義できます。%StringOpens in a new tab とは異なり、このプロパティの表示値は、このタイプの列を ODBC 経由でクエリするときに使用されます。
文字列を保持します。これは、EXACT の既定の照合を使用する %StringOpens in a new tab のサブクラスです。
整数を保持します。
$List 形式のデータを保持します。論理値は $List 形式のデータです。
$List 形式のデータを保持します (各リスト項目はバイナリ・データ)。論理値は $List 形式のデータです。
“Lastname,Firstname” 形式の名前を保持します。%NameOpens in a new tab データ型は、%Storage.Persistent クラスと併用すると、特別なインデックス作成がサポートされます。詳細は、"インターシステムズ・クラス・リファレンス" の "%NameOpens in a new tab" を参照してください。
固定小数点数を保持します。
日付と時間の値を保持します。このデータ型の論理値は、64 ビット整数としてエンコードされた 1970 年 1 月 1 日 00:00:00 以降からの (または以前の) 秒数になります。%PosixTimeOpens in a new tab は %TimeStampOpens in a new tab よりもディスク領域とメモリの使用量が少なく、%TimeStampOpens in a new tab よりもパフォーマンスが向上します。
小さい整数値を保持します。このクラスは %IntegerOpens in a new tab と同じです (OdbcType を除く)。
エラー・ステータス・コードとステータス情報を保持します。InterSystems IRIS クラス・ライブラリの多くのメソッドが、%StatusOpens in a new tab タイプの値を返します。これらの値の使用の詳細は、"%StatusOpens in a new tab" を参照してください。
文字列を保持します。%StringOpens in a new tab の既定の最大長は 50 文字です。これは、MAXLEN パラメータを設定してオーバーライドできます。
時刻値を保持します。論理値は午前 0 時以降の経過秒数。
日付と時間の値を保持します。%TimeStampOpens in a new tab データ型の論理値は、YYYY-MM-DD HH:MM:SS.nnnnnnnnn 形式で示されます。h が $H 形式の日付/時刻値の場合は、以下に示すように、$ZDATETIME を使用して %TimeStampOpens in a new tab プロパティ: $ZDATETIME(h,3) の有効な論理値を取得できます。
%PosixTimeOpens in a new tabの説明も参照してください。
非常に小さい整数値を保持します。このクラスは %IntegerOpens in a new tab と同じです (OdbcType と、その最大値および最小値を除く)。
ネイティブの $vector 形式で値を保持します。ユーザ入力をこのデータ型に変換するには、TO_VECTOR() SQL 関数も参照してください。"ベクトル検索の使用法" を参照してください。
追加のデータ型クラスが数多くあり、それらのほとんどはこれらのクラスのサブクラスです。詳細は、インターシステムズ・クラス・リファレンスを参照してください。
SqlCategory でグループ化されたデータ型クラス
データ型クラスについては、SqlCategory クラス・キーワードで SQL カテゴリを指定します。InterSystems SQL は、そのタイプのプロパティの値を処理する際に、このカテゴリを使用します。SqlCategory で管理される演算には、比較演算があります (より大きい、より少ない、等しいなど)。他の演算でも使用することがあります。ここでリストされているデータ型の SqlCategory 値を以下のテーブルに示します。
どのようにリテラル・プロパティが SQL タイプに投影されるかについての詳細は、"Data Types (SQL)" を参照してください。
OdbcType でグループ化されたデータ型クラス
データ型クラスについては、InterSystems SQL ODBC インタフェースで使用される値と論理データ値を InterSystems IRIS が相互に変換する方法を OdbcType クラス・キーワードで制御します。ここでリストされているデータ型の OdbcType 値を以下のテーブルに示します。
ClientDataType でグループ化されたデータ型クラス
データ型クラスについては、ClientDataType クラス・キーワードにより、InterSystems IRIS が (そのタイプの) プロパティを Java または Active X に投影する方法を制御します。ここでリストされているデータ型の ClientDataType 値を以下のテーブルに示します。
値 | 使用対象 |
---|---|
BIGINT | %BigIntOpens in a new tab |
BINARY | %BinaryOpens in a new tab (または、データの Unicode 変換がないことを要求するすべてのプロパティ) |
CURRENCY | %CurrencyOpens in a new tab |
DATE | %DateOpens in a new tab |
DOUBLE | %DoubleOpens in a new tab |
DECIMAL | %DecimalOpens in a new tab |
INTEGER | %CounterOpens in a new tab、%IntegerOpens in a new tab、%SmallIntOpens in a new tab、%TinyIntOpens in a new tab |
LIST | %ListOpens in a new tab、%ListOfBinaryOpens in a new tab |
NUMERIC | %NumericOpens in a new tab |
TIME | %TimeOpens in a new tab |
TIMESTAMP | %DateTimeOpens in a new tab、%PosixTimeOpens in a new tab、%TimeStampOpens in a new tab |
VARCHAR | %CharOpens in a new tab、%EnumStringOpens in a new tab、%ExactStringOpens in a new tab、%NameOpens in a new tab、%StringOpens in a new tab、%VectorOpens in a new tab |