リファレンスガイド> TDV SQLスクリプト> SQL言語の概念> データタイプ
 
データタイプ
TDVは、SQLスクリプトでいくつかのデータタイプをサポートしています。
SQLがサポートするすべての文字列、数値、日付、時刻、およびTIMESTAMPデータタイプに加えて、BLOB、CLOB、ROW、およびXML。詳細については、サポートされているデータタイプを参照してください。
カスタムデータタイプ。 SQLスクリプトを使用すると、利便性と明確さのためにカスタムデータタイプを宣言できます。ローカルで宣言することも、パブリックにすることもできます。詳細については、DECLARE TYPE(型宣言)を参照してください。
次のガイドラインは、TDVデータタイプのサポートに適用されます。
PUBLICタイプへの参照は完全に修飾されている必要があります。このような参照は、ターゲットデータタイプが有効な場所であればどこでも有効です。
プロシージャのパラメータ宣言でPIPEという名前の修飾子を使用して、出力をパイプライン化(ストリーミング)できます。詳細については、PIPE Modifierを参照してください。
カスタムデータタイプを宣言した後、組み込み型を使用できるスクリプト内の任意の場所でその名前を使用できます。
別のプロシージャのPUBLICタイプにアクセスするには、そのプロシージャへの完全修飾パス、ピリオド、タイプ名を指定します。
サポートされているデータタイプ
次の表に、SQLスクリプトでサポートされているすべてのデータタイプを示します。前述のように、オプションのサイズを持つすべてのタイプにはデフォルト値があります。
データタイプ
範囲または値のリスト
整数数値型
BIT
0または1
TINYINT
-128〜127
SMALLINT
-32768〜32767
INTEGER
-231から+231 -1
INT
INTEGERのエイリアス
BIGINT
-263から+263 -1
非整数の数値タイプ
FLOAT
約7桁の精度の浮動小数点
REAL
FLOATのエイリアス
DOUBLE
約17桁の精度の浮動小数点
DECIMAL[(p,s)]
合計で最大p(精度)桁、小数点の右側に最大s(スケール)桁の精度の数値を修正しました。デフォルト:DECIMAL(32,2)
NUMERIC[(p,s)]
デフォルトがNUMERIC(32,0)であることを除いて、DECIMALと同じです。
日付と時刻のタイプ
DATE
 
TIME
 
TIMESTAMP
 
文字列とバイナリータイプ
CHAR[(n)]
スペースが埋め込まれた、正確にn文字の文字列。 nのデフォルト:255
VARCHAR[(n)]
また、CLOB
最大n文字のパディングされていない文字列。 nのデフォルト:255
BINARY[(n)]
正確にnバイトのバイナリー文字列で、必要に応じてゼロのバイトが右に埋め込まれます。 nのデフォルト:255
VARBINARY(n)
また、BLOB
最大nバイトのパディングされていないバイナリー文字列。 nのデフォルト:255
その他のタイプ
BOOLEAN
TRUEまたはFALSEの値。 (「BOOLEAN」は有効な値ではありません。)
CURSOR
型指定されていないカーソル(フィールドのリストが提供されていないため)
CURSOR(...)
フィールドのセット(「列」)として定義されたカーソル
CURSOR(rowType)
(フィールドを直接指定する代わりに)ROW型を参照することによって宣言されたCURSOR
<g1>ROW(...)</g1>
フィールドのセット(「列」とも呼ばれます)
XML [(
{DOCUMENT | CONTENT | SEQUENCE}
[(ANY | UNTYPED |
XMLSCHEMA schema-details)]
)]
スキーマ-詳細:
URI target-namespace-uri
[ LOCATION schema-location ]
[ { ELEMENT element-name
| NAMESPACE namespace-uri
[ ELEMENT element-name ] } ]
| NO NAMESPACE
[ LOCATION schema-location ]
[ { ELEMENT element-name
| NAMESPACE namespace-uri
[ ELEMENT element-name ] } ]
XMLvalue。デフォルト:「スキーマなし」
target-namespace-uri:有効なURIを表す文字列リテラル
schema-location:有効なURIを表す文字列リテラル
namespace-uri:有効なURIを表す文字列リテラル
エレメント名:任意の有効な識別子
例(カスタムデータタイプの宣言)
後で参照できるように、SQLスクリプトでカスタムデータタイプを宣言できます。
DECLARE TYPE SocialSecurityType VARCHAR(12);
DECLARE ssn SocialSecurityType;
DECLARE data ROW (name VARCHAR(40), ssn SocialSecurityType);
例(カスタムデータタイプの参照)
/shared/examplesフォルダー内のTypeSampleという名前のプロシージャで、SocialSecurityTypeという名前のSQLスクリプトでカスタムデータタイプを宣言した場合は、次のように型を参照できます。
DECLARE ssn /shared/examples/TypeSample.SocialSecurityType;
例(XMLデータタイプ)
次のように、SQLスクリプトでXMLデータタイプを宣言できます。
cast ('<item> </item>' as XML (SEQUENCE))
cast('<bar></bar>' as XML(SEQUENCE(ANY)))
PROCEDURE item()
BEGIN
DECLARE item
XML (SEQUENCE (XMLSCHEMA URI LOCATION 'http://www.w3.org/2001/
XMLSchema-instance' [^] ELEMENT xsi));
END