SQLとJavaの間のデータ型マッピング - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

外部Javaプロシージャを作成または置き換える場合、システムはパラメータ マッピングの種類に基づいて、すべてのSQLデータ型を対応するJavaデータ型に変換したり、その逆の変換を行なったりします。

外部プロシージャは単純マッピングにデフォルト設定されていて、SQLデータ型は、Javaプリミティブ型または、適切なプリミティブ型が存在しないときはJavaクラスにマップされます。言い換えれば、単純マッピング列にJavaの型がある場合、デフォルトのマッピングはその型にマップされます。単純マッピング列に、SQLデータ型に適用なしエントリがある場合、デフォルト マッピングは、オブジェクト マッピング列のJavaクラスにマップされます。

nullの受渡しを許可するJava外部プロシージャを作成または置き換える場合、単純マッピングを使用することはできません。デフォルト マッピングをオーバーライドするには、EXTERNAL NAME句のパラメータ リストにあるオブジェクト マッピング列から適切なJavaクラスを指定する必要があります。

次のテーブルでは、SQLとJavaとの間のデータ型マッピングを定義します。

SQLデータ型 Javaデータ型
単純マッピング 単純マッピングJavaプリミティブ記号 オブジェクト マッピング
BYTEINT バイト B java.lang.Byte
SMALLINT short S java.lang.Short
INTEGER int I java.lang.Integer
BIGINT long J java.lang.Long
NUMERIC 使用不可 使用不可 java.math.BigDecimal
DECIMAL 使用不可 使用不可 java.math.BigDecimal
FLOAT double D java.lang.Double
REAL double D java.lang.Double
DOUBLE PRECISION double D java.lang.Double
BYTE 使用不可 B byte[]
VARBYTE 使用不可 B byte[]
BLOB 使用不可 使用不可 java.sql.Blob
DATE 使用不可 使用不可 java.sql.Date
TIME

TIMEは、Teradata Databaseが提供する完全ナノ秒粒度はサポートしません。

使用不可 使用不可 java.sql.Time
TIMESTAMP 使用不可 使用不可 java.sql.Timestamp
INTERVAL 使用不可 使用不可 java.lang.String
CHARACTER 使用不可 使用不可 java.lang.String
VARCHAR 使用不可 使用不可 java.lang.String
CLOB 使用不可 使用不可 java.sql.Clob
GRAPHIC 使用不可 使用不可 使用不可
VARGRAPHIC 使用不可 使用不可 使用不可
UDT 未サポート 使用不可 未サポート