スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
表16-5の.NET Framework型及びアクセサを使用しない場合,HiRDBデータプロバイダ内部で自動的に型変換されます。NET Framework型及びアクセサを使用しない場合とは,CHAR属性の項目を持つ表にInt32型のデータをINSERTしたり,GetInt32メソッドで取得したりすることをいいます。
INSERT時の型変換一覧を表16-6,表16-7に,SELECT時の型変換一覧を表16-8,表16-9に示します。
なお,表16-6〜表16-9の記号の意味については,「16.7.3(1)記号の意味」を参照してください。
表16-6 INSERT時の型変換一覧(1/2)
| .NET Framework型 | HiRDBのデータ型 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| I | SI | DE | F | SF | C | VC | NC | NVC | |
| Boolean | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| Int16 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Int32 | ○ | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Int64 | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| UInt16 | ○ | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| UInt32 | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| UInt64 | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Single小数部ありデータ | △4 | △3 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Single小数部なしデータ | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Double小数部ありデータ | △4 | △3 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Double小数部なしデータ | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Decimal小数部ありデータ | △4 | △3 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Decimal小数部なしデータ | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Char | ○1 | ○1 | ×1 | ×1 | ×1 | ○ | ○ | ○ | ○ |
| Char[] | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| String | △2 | △1 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| DateTime | ×1 | ×1 | ×1 | ×1 | ×1 | ○ | ○ | ×1 | ×1 |
| TimeSpan | ×1 | ×1 | ×1 | ×1 | ×1 | ○ | ○ | ×1 | ×1 |
| Guid | ×1 | ×1 | ×1 | ×1 | ×1 | ○ | ○ | ×1 | ×1 |
| Byte | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| Byte[] | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| Sbyte | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| SByte[] | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
表16-7 INSERT時の型変換一覧(2/2)
| .NET Framework型 | HiRDBのデータ型 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| MC | MVC | DA | T | TS | IY | IHS | BI | BL | |
| Boolean | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| Int16 | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Int32 | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Int64 | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| UInt16 | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| UInt32 | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| UInt64 | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Single小数部ありデータ | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Single小数部なしデータ | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Double小数部ありデータ | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Double小数部なしデータ | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Decimal小数部ありデータ | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Decimal小数部なしデータ | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Char | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Char[] | ×1 | ×1 | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| String | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ×1 | ×1 |
| DateTime | ○ | ○ | ○ | ○ | ○ | ×2 | ×2 | ×1 | ×1 |
| TimeSpan | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ○ | ×1 | ×1 |
| Guid | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ×1 | ×1 |
| Byte | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ○ | ○ |
| Byte[] | ×1 | ×1 | ×1 | ×1 | ×1 | ×2 | ×2 | ○ | ○ |
| Sbyte | ○ | ○ | ×1 | ×1 | ×1 | ×2 | ×2 | ○ | ○ |
| SByte[] | ×1 | ×1 | ×1 | ×1 | ×1 | ×2 | ×2 | ○ | ○ |
表16-8 SELECT時の型変換一覧(1/2)
| アクセサ | HiRDBのデータ型 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| I | SI | DE | F | SF | C | VC | NC | NVC | |
| GetBoolean | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetByte | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetBytes | ○ | ○ | ×1 | ○ | ○ | ○ | ○ | ○ | ○ |
| GetChar | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetChars | ×1 | ×1 | ×1 | ×1 | ×1 | ○ | ○ | ○ | ○ |
| GetData | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetDateTime | ×1 | ×1 | ×1 | ×1 | ×1 | △6 | △6 | △6 | △6 |
| GetDecimal | ○ | ○ | ○ | ○ | ○ | △7 | △7 | △7 | △7 |
| GetDouble | ○ | ○ | ○ | ○ | ○ | △8 | △8 | △8 | △8 |
| GetFloat | ○ | ○ | ○ | ○ | ○ | △9 | △9 | △9 | △9 |
| GetGuid | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetInt16 | △1 | ○ | △1 | △1 | △1 | △1 | △1 | △1 | △1 |
| GetInt32 | ○ | ○ | △2 | △2 | △2 | △2 | △2 | △2 | △2 |
| GetInt64 | ○ | ○ | △10 | △10 | △10 | △10 | △10 | △10 | △10 |
| GetString | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| GetValue | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| GetValues | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
表16-9 SELECT時の型変換一覧(2/2)
| アクセサ | HiRDBのデータ型 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| MC | MVC | DA | T | TS | IY | IHS | BI | BL | |
| GetBoolean | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetByte | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetBytes | ○ | ○ | ×1 | ×1 | ×1 | ×1 | ×1 | ○ | ○ |
| GetChar | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetChars | ○ | ○ | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetData | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetDateTime | △6 | △6 | ○ | ○ | ○ | ×1 | ×1 | ×1 | ×1 |
| GetDecimal | △7 | △7 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetDouble | △8 | △8 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetFloat | △9 | △9 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetGuid | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 | ×3 |
| GetInt16 | △1 | △1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetInt32 | △2 | △2 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetInt64 | △10 | △10 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 | ×1 |
| GetString | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| GetValue | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| GetValues | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
HiRDBのデータ型の,記号の意味を次に示します。
| 記号 | 意味 |
|---|---|
| I | INTEGER |
| SI | SMALLINT |
| DE | DECIMAL,及びLARGE DECIMAL |
| F | FLOAT/DOUBLE PRECISION |
| SF | SMALLFLT,及びREAL |
| C | CHARACTER |
| VC | VARCHAR |
| NC | NCHAR,及びNATIONAL CHARACTER |
| NVC | NVARCHAR |
| MC | MCHAR |
| MVC | MVARCHAR |
| DA | DATE |
| T | TIME |
| TS | TIMESTAMP |
| IY | INTERVAL YEAR TO DAY |
| IHS | INTERVAL HOUR TO SECOND |
| BI | BINARY |
| BL | BLOB |
○は正常,△は条件付きで動作,×はエラーとなります。さらに,これらに番号が付いている場合があります。○,△,及び×に番号が付いている場合の記号の意味を次に示します。
| 記号 | 意味 |
|---|---|
| ○ | 数字の文字コードが入ります。 |
| △1 |
|
| △2 |
|
| △3 | -32768〜32767:正常(小数点第一位四捨五入) 範囲外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △4 | -2147483648〜2147483647:正常(小数点第一位四捨五入) 範囲外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △5 | 0〜255:正常 範囲外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △6 | DateTime形式データの場合:正常 DateTime形式データ以外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △7 | Decimal形式データの場合:正常 Decimal形式データ以外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △8 | Double形式データの場合:正常 Double形式データ以外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △9 | Float形式データの場合:正常 Float形式データ以外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| △10 | -9223372036854775808〜9223372036854775807:正常 範囲外:[Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| ×1 | [Hitachi.HiRDB.HiRDBException]KFPZ24026-E形式変換エラー |
| ×2 | [Hitachi.HiRDB.HiRDBException]KFPZ24107-E Decimal,日時,時間間隔型オーバフロー [Hitachi.HiRDB.HiRDBException]KFPZ24106-E 日時,時間間隔型フォーマットエラー |
| ×3 | [System.NotSupportedException] 未サポートエラー |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.