データベースと項目タイプの対応
DataMagicが接続可能な各データベースとDataMagicの項目タイプの対応を以下の表に示します。表に示した組み合わせ以外で書き込む場合の動作は保証しません。
また、データベースから読み込んだ値がNULLだった場合にDataMagicの項目に設定される値(NULL値の扱い)も示します。
(1) SQLite3のデータ型と項目タイプの対応
SQLite3のデータ型 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|
BIGINT |
B |
0 |
8 |
INTEGER |
B |
0 |
8 |
FLOAT |
F |
0 |
8 |
REAL |
F |
0 |
8 |
BLOB |
I |
NULL文字 |
- |
TEXT |
M |
NULL文字 |
- |
その他 |
M |
NULL文字 |
- |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
(2) Oracleのデータ型と項目タイプの対応
Oracleの列タイプ |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|
DATE |
D |
NULL文字 |
- |
TIMESTAMP |
D |
NULL文字 |
- |
BFILE |
I |
NULL文字 |
- |
BLOB |
I |
NULL文字 |
- |
LONG_RAW |
I |
NULL文字 |
- |
RAW |
I |
NULL文字 |
- |
CHAR |
M |
NULL文字 |
- |
CLOB |
M |
NULL文字 |
- |
INTERVAL DAY TO SECOND |
M |
NULL文字 |
- |
INTERVAL YEAR TO MONTH |
M |
NULL文字 |
- |
LONG |
M |
NULL文字 |
- |
ROWID |
M |
NULL文字 |
- |
TIMESTAMP WITH LOCAL TIME ZONE |
M |
NULL文字 |
- |
TIMESTAMP WITH TIME ZONE |
M |
NULL文字 |
- |
UROWID |
M |
NULL文字 |
- |
VARCHAR2 |
M |
NULL文字 |
- |
NCHAR |
W |
NULL文字 |
- |
NCLOB |
W |
NULL文字 |
- |
NVARCHAR2 |
W |
NULL文字 |
- |
DECIMAL |
Z |
0 |
- |
FLOAT |
Z |
0 |
- |
INTEGER |
Z |
0 |
- |
NUMBER |
Z |
0 |
- |
NUMERIC |
Z |
0 |
- |
REAL |
Z |
0 |
- |
SMALLINT |
Z |
0 |
- |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
-
LONG列の扱えるサイズは64KB未満になります。それを超えるLONG列の入出力は変換エラーとなります。
-
BFILEタイプは入力でのみ指定できます。出力で指定した場合は変換エラーになります。
-
DataMagicのDタイプが扱える精度は秒までです。TIMESTAMP型に格納されているデータの秒未満の部分(ミリ秒)は無視されます。
(3) DB2のデータ型と項目タイプの対応
DB2のデータ型 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|
BIGINT |
B |
0 |
8 |
INTEGER |
B |
0 |
4 |
SMALLINT |
B |
0 |
2 |
DATE |
D |
NULL文字 |
- |
TIME |
D |
NULL文字 |
- |
TIMESTAMP |
D |
NULL文字 |
- |
DOUBLE |
F |
0 |
8 |
REAL |
F |
0 |
4 |
BLOB |
I |
NULL文字 |
- |
CHARACTER |
M |
NULL文字 |
- |
CLOB |
M |
NULL文字 |
- |
LONG VARCHAR |
M |
NULL文字 |
- |
VARCHAR |
M |
NULL文字 |
- |
DBCLOB |
N |
NULL文字 |
- |
GRAPHIC |
N |
NULL文字 |
- |
LONG VARGRAPHIC |
N |
NULL文字 |
- |
VARGRAPHIC |
N |
NULL文字 |
- |
DECIMAL |
Z |
0 |
- |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
-
DATE、TIME、TIMESTAMP列への出力は、デリミタの指定がDB環境に依存します。出力の際は出力フォーマット指定をしてください。
-
DataMagicのDタイプが扱える精度は秒までです。TIMESTAMP型に格納されているデータの秒未満の部分(ミリ秒)は無視されます。
-
DB2のデータベースが使用する文字コード種(コードセット)がUTF-8の場合、DataMagicではGRAPHIC型を使用できません。
(4) SQL Serverのデータ型と項目タイプの対応
SQL Serverのデータ型 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|
bigint |
B |
0 |
8 |
bit |
B |
0 |
2 |
int |
B |
0 |
4 |
smallint |
B |
0 |
2 |
tinyint |
B |
0 |
2 |
datetime |
D |
NULL文字 |
- |
smalldatetime |
D |
NULL文字 |
- |
float |
F |
0 |
8 |
real |
F |
0 |
4 |
binary |
I |
NULL文字 |
- |
image |
I |
NULL文字 |
- |
uniqueidentifier |
I |
NULL文字 |
- |
varbinary |
I |
NULL文字 |
- |
varbinary(MAX) |
I |
NULL文字 |
- |
char |
M |
NULL文字 |
- |
text |
M |
NULL文字 |
- |
varchar |
M |
NULL文字 |
- |
varchar(MAX) |
M |
NULL文字 |
- |
date |
W |
NULL文字 |
- |
datetime2 |
W |
NULL文字 |
- |
datetimeoffset |
W |
NULL文字 |
- |
nchar |
W |
NULL文字 |
- |
ntext |
W |
NULL文字 |
- |
nvarchar |
W |
NULL文字 |
- |
nvarchar(MAX) |
W |
NULL文字 |
- |
sql_variant |
W |
NULL文字 |
- |
time |
W |
NULL 文字 |
- |
XML |
W |
NULL文字 |
- |
decimal |
Z |
0 |
(*2) |
money |
Z |
0 |
- |
numeric |
Z |
0 |
(*2) |
smallmoney |
Z |
0 |
- |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
*2 |
: |
サイズにはDB テーブルの設定値に1 を加えた値が設定されます。また、小数点以下の桁数に1 以上を定義した場合、前述の値にさらに1 を加えた値が設定されます。 |
-
DataMagicのDタイプが扱える精度は秒までです。datetime型に格納されているデータの秒未満の部分(ミリ秒)は無視されます。
-
DataMagicでは、tinyint型を2バイトのBタイプとして扱います。
-
DataMagicでは、UDT(ユーザ定義)型をサポートしていませんが、ユーザ定義による型の別名はサポートしています。
例)
SSNがnvarchar(128)と定義されている場合、DataMagicでは「項目属性はnvarchar、サイズは128バイト」として扱います。
-
bitは2バイトの数値として扱います。したがって入力設定の場合、0は false、それ以外はtrue、出力設定の場合、falseは0、trueは-1になります。
-
DSN接続の際に、Microsoft ODBC Driver for SQL Serverを使用するとXMLデータ型が正しく変換されない場合があります。
Windows標準のSQL Serverクライアントを使用してください。
(5) PostgreSQLのデータ型と項目タイプの対応
PostgreSQLのデータ型 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|
date |
D |
NULL文字 |
4 |
double precision |
F |
0 |
8 |
real |
F |
0 |
4 |
bytea |
I |
NULL文字 |
- |
boolean |
M |
NULL文字 |
5 |
character |
M |
NULL文字 |
(*2) |
character varying |
M |
NULL文字 |
- |
text |
M |
NULL文字 |
- |
bigint |
B |
0 |
8 |
integer |
B |
0 |
4 |
smallint |
B |
0 |
2 |
numeric |
Z |
0 |
- |
money |
Z |
0 |
- |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
*2 |
: |
character型はDataMagicでは可変長として扱われますが、動作は以下のようにDBのcharacter型と同様となります。
|
-
上記記載のないデータ型は利用できません。
-
PostgreSQLサーバーのVer.9で、バイナリデータの扱いについて出力形式が変更になったため、bytea型のデータの取得結果がPostgreSQLサーバーのVer.8と異なる場合があります。PostgreSQLサーバーのVer.8と同様の結果を取得したい場合は、PostgreSQLサーバの設定を変更してください。詳細については、PostgreSQLのドキュメントを参照してください。
(6) ODBCのデータ型と項目タイプの対応
主要の型 |
ODBCのデータ型 |
データ範囲 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|---|---|
数値 |
SQL_TINYINT |
-128~127 |
B |
0 |
2 |
SQL_SMALLINT |
精度 5、小数点以下桁数 0、範囲 n の 符号付き数値 (–32,767 ≤ n ≤ 32,767) |
B |
0 |
2 |
|
SQL_INTEGER |
精度 10、小数点以下桁数 0、範囲 n の 符号付き数値 (-2,147,483,647 ≤ n ≤ 2,147,483,647) |
B |
0 |
4 |
|
SQL_BIGINT |
精度 10、小数点以下桁数 0、範囲 n の 符号付き数値 (–(263 – 1) ≤ n ≤ 263 – 1) |
B |
0 |
8 |
|
SQL_REAL |
標準 C float 型と特性が同じ符号付き数値 -3.402823E+38~3.402823E+38 |
F |
0 |
4 |
|
SQL_FLOAT |
標準 C double 型と特性が同じ符号付き数値 |
F |
0 |
8 |
|
SQL_DOUBLE |
標準 C double 型と特性が同じ符号付き数値 |
F |
0 |
8 |
|
SQL_NUMERIC |
精度 p および小数点以下桁数 s の 符号付きの真数値 (1 ≤ p ≤ 15; 0 ≤ s ≤ p)Z(数字文字列) |
Z |
0 |
- |
|
SQL_DECIMAL |
精度 p および小数点以下桁数 s の符号付き数値 (1 ≤ p ≤ 32; 0 ≤ s ≤ p)Z(数字文字列) |
Z |
0 |
- |
|
バイナリ型 |
SQL_BIT |
論理値 0,1 |
I |
NULL文字 |
1 |
SQL_BINARY |
固定長のバイナリデータ |
I |
NULL文字 |
- |
|
SQL_VARBINARY |
可変長バイナリデータ |
I |
NULL文字 |
- |
|
SQL_LONGVARBINARY |
可変長のバイナリ形式のデータ |
I |
NULL文字 |
- |
|
文字列型 |
SQL_CHAR |
固定長 n の文字列 (1 ≤ n ≤ 32,767) |
M |
NULL文字 |
- |
SQL_VARCHAR |
可変長 n の文字列 (1 ≤ n ≤ 32,767) |
M |
NULL文字 |
- |
|
SQL_LONGVARCHAR |
可変長 n の文字列 (1 ≤ n ≤ 32,767) |
M |
NULL文字 |
- |
|
SQL_WCHAR |
固定長各国文字(Unicode) |
W |
NULL文字 |
- |
|
SQL_WVARCHAR |
可変長各国文字(Unicode) |
W |
NULL文字 |
- |
|
SQL_WLONGVARCHAR |
可変長各国文字(Unicode) |
W |
NULL文字 |
- |
|
日付・ 時刻型 |
SQL_TYPE_DATE またはSQL_DATE |
「YYYYMMDD」 |
D |
NULL文字 |
- |
SQL_TYPE_TIME またはSQL_TIME |
「YYYYMMDDHHMiSS」 |
D |
NULL文字 |
- |
|
SQL_TYPE_TIMESTAMP またはSQL_TIMESTAMP |
「YYYYMMDD HHMiSS9999999」 |
D |
NULL文字 |
- |
|
日付期間型 |
SQL_INTERVAL_MONTH |
期間リテラル 月間隔 |
Z |
0 |
- |
SQL_INTERVAL_YEAR |
年間隔 |
Z |
0 |
- |
|
SQL_INTERVAL_DAY |
日間隔 |
Z |
0 |
- |
|
SQL_INTERVAL_HOUR |
時間隔 |
Z |
0 |
- |
|
SQL_INTERVAL_MINUTE |
分間隔 |
Z |
0 |
- |
|
SQL_INTERVAL_SECOND |
秒間隔 |
Z |
0 |
- |
|
SQL_INTERVAL_YEAR_TO_MONTH |
2値を持つため使用不可 |
使用不可 |
|||
SQL_INTERVAL_DAY_TO_HOUR |
|||||
SQL_INTERVAL_DAY_TO_MINUTE |
|||||
SQL_INTERVAL_DAY_TO_SECOND |
|||||
SQL_INTERVAL_HOUR_TO_MINUTE |
|||||
SQL_INTERVAL_HOUR_TO_SECOND |
|||||
SQL_INTERVAL_MINUTE_TO_SECOND |
|||||
その他 |
SQL_GUID |
グローバルユニークID |
I |
NULL文字 |
- |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
DataMagicが扱える精度は秒までです。データの秒未満の部分(ミリ秒)は無視されます。
主要の型 |
Redshiftのデータ型 |
データ範囲 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|---|---|
数値 |
SMALLINT |
符号付き 2 バイト整数 |
B |
0 |
2 |
INTEGER |
符号付き 4バイト整数 |
B |
0 |
4 |
|
BIGINT |
符号付き 8バイト整数 |
B |
0 |
8 |
|
REAL |
単精度浮動小数点数 |
F |
0 |
4 |
|
DOUBLE PRECISION |
倍精度浮動小数点数 |
F |
0 |
8 |
|
DECIMAL |
精度の選択が可能な真数 |
Z |
0 |
- |
|
文字列型 |
CHAR |
固定長のキャラクタ文字列 |
M |
NULL文字 |
- |
VARCHAR |
ユーザによって定義された制限を持つ可変長キャラクタ文字列 |
M |
NULL文字 |
- |
|
日付・ 時刻型 |
DATE |
カレンダー日付 (年、月、日) |
D |
NULL文字 |
10 |
TIMESTAMP |
日付と時刻 (タイムゾーンなし) |
D |
NULL文字 |
- |
|
TIMESTAMPTZ |
日付と時刻 (タイムゾーンあり) |
D |
NULL文字 |
- |
|
TIME |
時刻 |
M |
NULL文字 (*2) |
8 |
|
TIMETZ |
時刻 (タイムゾーン付き) |
使用不可 |
|||
その他 |
BOOLEAN |
論理ブール演算型 (true/false) (*3) |
M (*3) |
NULL文字 |
5 (*3) |
GEOMETRY | 空間データ |
使用不可 |
|||
GEOGRAPHY |
空間データ |
使用不可 |
|||
HLLSKETCH | HyperLogLog スケッチで使用するタイプ |
使用不可 |
|||
SUPER | ARRAY や STRUCTS などの複合型が含まれる Amazon Redshift のすべてのスカラー型を包含するスーパーセットデータ型 |
使用不可 |
|||
VARBYTE | 可変長バイナリ値 |
使用不可 |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
*2 |
: |
BULK INSERT使用時はデータ型TIMEの項目にNULL値を挿入できません。 |
*3 |
: |
BULK INSERT使用時は以下のように入力してください。
|
DataMagicが扱える精度は秒までです。データの秒未満の部分(ミリ秒)は無視されます。
主要の型 |
Snowflakeの |
データ範囲 |
DataMagicの項目タイプ |
NULL値の扱い |
サイズ(*1) |
---|---|---|---|---|---|
数値 |
NUMBER DECIMAL DEC NUMERIC |
オプションの精度とスケールを使用した、最大38桁の数字 デフォルトの精度とスケールは (38, 0) |
Z |
0 |
- |
TINYINT BYTEINT SMALLINT INT INTEGER BIGINT |
NUMBER(38, 0)と同義 |
Z |
0 |
- |
|
FLOAT FLOAT4 FLOAT8 DOUBLE DOUBLE PRECISION REAL |
倍精度(64ビット) IEEE 754浮動小数点数 |
F |
0 |
8 |
|
文字列型 |
VARCHAR STRING TEXT NVARCHAR NVARCHAR2 CHAR VARYING NCHAR VARYING |
ユーザによって定義された制限を持つ、UTF-8の可変長キャラクタ文字列 デフォルト(および最大)は、16,777,216バイト |
M |
NULL文字 |
-(*2) |
CHAR CHARACTER NCHAR |
デフォルトの長さが VARCHAR(1)であることを除き、 VARCHAR と同義 |
M |
NULL文字 |
-(*2) |
|
バイナリ型 |
BINARY VARBINARY(*3) |
Unicode文字の概念がないバイナリ文字列 最大長は8 MB (8,388,608バイト) |
I |
NULL文字 |
- |
論理 |
BOOLEAN |
論理ブール演算型 |
I(*4, *5, *6) |
NULL文字 |
1 |
日付・ 時刻型 (*7) |
DATE |
カレンダー日付(年、月、日) |
M |
NULL文字 |
10 |
DATETIME TIMESTAMP TIMESTAMP_NTZ |
日付と時刻(タイムゾーンなし) |
M |
NULL文字 |
35 |
|
TIME |
時刻 |
M |
NULL文字 |
18 |
|
TIMESTAMP_LTZ |
日付と時刻(ローカルタイムゾーンあり) |
M |
NULL文字 |
35 |
|
TIMESTAMP_TZ |
日付と時刻(タイムゾーンあり) |
M |
NULL文字 |
35 |
|
半構造化データ型 |
VARIANT |
OBJECTやARRAYを含む半構造体データ型(最大サイズ 16MB) |
特定条件下でのみ使用可(*8) |
||
OBJECT | キー(空でない文字列)とVARIANT型の値のペアのコレクション |
特定条件下でのみ使用可(*8) |
|||
ARRAY |
VARIANT型の値で構成される配列 |
特定条件下でのみ使用可(*8) |
|||
地理空間データ型 |
GEOGRAPHY |
地理空間データ |
使用不可 |
||
GEOMETRY |
地理空間データ |
使用不可 |
*1 |
: |
サイズ列の-(ハイフン)は可変長またはDBテーブルの設定値となります。 |
*2 | : |
Snowflakeでは文字列型宣言時、VARCHAR(N)等で「N」の部分に指定する数値は最大文字数となります。DataMagicのサイズはバイト数となるため、「DBテーブル情報詳細」画面での「項目の取り込み」を実行した場合、以下の理由によりサイズはSnowflakeで指定した文字数の4倍となります。
|
*3 |
: |
SnowflakeではVARBINARY型はBINARY型と同義語のため、「DBテーブル情報詳細」画面の「項目の取り込み」で項目を取り込んだ場合、「固定長」となります。 |
*4 |
: |
BULK INSERTは、項目タイプ“M”、“I”の双方に対応しています。詳細については表および注釈の記載に従ってください。 |
*5 |
: |
文字列の値をINSERTする場合は、出力設定の「DBテーブル情報詳細」の項目タイプに“M”、サイズに“5”を設定してください。TRUE、FALSEに変換される文字列は以下のとおりです。
注意
大文字と小文字は区別しません。他のテキスト文字列はブール値に変換できません。 出力設定の「入力データサイズが0バイトの場合の扱い」の「文字タイプ」を“NULL”に設定している場合は、空文字をNULLに変換します。 |
*6 |
: |
BOOLEAN型の値を数字文字列に変換して出力したい場合は、ITOM関数をご利用ください。ITOM関数についてはリファレンスマニュアルの「付録A 関数」をご確認ください。なお、NULL値はITOM関数で0になり偽と同値となりますので、ご注意ください。 |
*7 |
: |
日付演算および演算結果が日付になる関数を使用した結果をSnowflakeのDBに出力する場合は、出力項目の日付フォーマットを“YYYY-MM-DD”に設定してください。DataMagicでは日付形式のデフォルトフォーマットを“YYYY/MM/DD”としていますが、Snowflakeではこの日付形式が無効のため、正しいフォーマットを設定しないとデータ加工がエラーになります。 |
*8 |
: |
使用条件の詳細については「Snowflakeの半構造化データ型の利用条件」をご確認ください。 |
-
DataMagicのDタイプが扱える精度は秒までです。「日付・時刻型」のデータをDタイプに変換した場合、秒未満の部分(ミリ秒)は無視されます。
-
注釈*6に記載のとおり、Dタイプの標準フォーマットは“YYYY/MM/DD”形式です。Snowflakeの日付形式ではこのフォーマットのデータを入力できない可能性がありますので、Snowflakeの仕様に従ってDataMagicが出力する日付フォーマットを設定してください。