DATATYPEに指定可能な値を以下に示します。
指定値 | 出力データ長 | 扱えるデータの範囲 |
---|---|---|
n | 1~2000バイト | |
n + 2 | 1~4000バイト | |
n × 2 | 1~1000文字 | |
n × 2 + 2 | 1~2000文字 | |
4 | -2147483648~2147483647 | |
2 | -32768~32767 | |
p + 1 | 有効けた数:18 | |
p / 2 + 1 | 有効けた数:18 | |
4 | - | |
4 | - | |
FLOAT(p) | 8 | - |
8 | - | |
4 | 0001/01/01~9999/12/31 | |
3 | 00:00:00~23:59:59 | |
7 | 0001/01/01 00:00:00~ |
DATATYPEの指定値は、複写元データベースであるOracleデータ属性、扱うデータおよび複写先データベースのデータ属性により決定します。
DATATYPEの指定値はSymfoware/RDBの属性に合わせた指定値です。その判断方法は、基本的には複写先データベースであるSymfoware/RDBのデータ属性に合わせます。ただしOracleとSymfoware/RDBで扱えるデータの範囲が異なるため、実際に扱うデータの範囲を考慮して決定する必要があります。指定したDATATYPEで扱えるデータの範囲を超えたデータが発生した場合は、複写元データベースと複写先データベースのデータの整合性が保証されません。
ORACLEの | DATATYPEの | 判断の目安 | 備考 |
---|---|---|---|
CHARACTER(size) | CHAR(n) | 複写先項目が | n=size |
VARCHAR(size) | VCHAR(n) | 複写先項目が | n=size |
NCHAR(size) | NCHAR(n) | 複写先項目が | バイト単位の場合 |
CHAR(n) | 複写先項目が | バイト単位の場合 | |
NVARCHAR2(size) | NVCHAR(n) | 複写先項目が | バイト単位の場合 |
VCHAR(n) | 複写先項目が | バイト単位の場合 | |
NUMBER(p,0) | INT | 複写先項目が | INTEGERの範囲だけが可能 |
SINT | 複写先項目が | SMALLINTの範囲だけが可能 | |
NUMBER(p,0) | INT | 複写先項目が | INTEGERの範囲だけが可能 |
NUMBER(p,q) | NUMERIC(p,q) | 複写先項目が | DATATYPEの精度・位取りを複写先の項目と同じにする。扱える範囲はその精度・位取りの範囲だけが可能 |
DECIMAL(p,q) | 複写先項目が | ||
NUMBER(p,q) | DOUBLE | 複写先項目が | 格納時に正規化された値(近似値)に変更される場合がある。 |
NUMBER(p,q) | NUMERIC(q,q) | 複写先項目が | 位取り値が精度より大きい場合、位取り値を精度とする。 |
DECIMAL(q,q) | 複写先項目が | ||
NUMBER(p,q) | DOUBLE | 複写先項目が | 正規化された値(近似値)に変更される場合がある。 |
NUMBER(p,q) | NUMERIC(p,0) | 複写先項目が | 例: |
DECIMAL(p,0) | 複写先項目が | ||
NUMBER(p,q) | DOUBLE | 複写先項目が | 格納時に正規化された値(近似値)に変更される場合がある。 |
FLOAT(p) | FLOAT(p) | 複写先項目が | 格納時に正規化された値(近似値)に変更される場合がある。 |
REAL | 複写先項目が | ||
DOUBLE | 複写先項目が | ||
FLOAT(p) | FLOAT(p) | 複写先項目が | 格納時に正規化された値(近似値)に変更される場合がある。 |
DOUBLE | 複写先項目が | ||
DATE | DATE | 複写先項目が | 複写先で日付部分だけが必要な場合 |
TIME | 複写先項目が | 複写先で時間部分だけが必要な場合 | |
TIMESTAMP | 複写先項目が | 日付部分が |
注)更新するデータの長さがDATATYPEに指定した属性の長さを満たさない場合、属性の文字数までの残りスペースは、以下のDATATYPEに指定した属性に従い差分ログを取得します。
- DATATYPEがNCHARの場合、全角の空白でパディングします。
- DATATYPEがCHARの場合、半角の空白でパディングします。