Nonstop Database, HiRDB Version 9 UAP Development Guide
When no .NET Framework type or accessory listed in Table 16-5 is used, type conversion takes place automatically within the HiRDB data provider. No .NET Framework type or accessory is used when Int32-type data is inserted in a table that contains items with the CHAR attribute or the GetInt32 method is used for acquisition.
Tables 16-6 and 16-7 list the type conversions for INSERT, and Tables 16-8 and 16-9 list the type conversions for SELECT.
For the definition of symbols used in Tables 16-6 through 16-9, see 16.7.3(1) Definition of symbols.
Table 16-6 List of type conversions for INSERT (1/2)
.NET Framework type | HiRDB data type | ||||||||
---|---|---|---|---|---|---|---|---|---|
I | SI | DE | F | SF | C | VC | NC | NVC | |
Boolean | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
Int16 | N | N | N | N | N | N | N | E1 | E1 |
Int32 | N | C1 | N | N | N | N | N | E1 | E1 |
Int64 | C2 | C1 | N | N | N | N | N | E1 | E1 |
UInt16 | N | C1 | N | N | N | N | N | E1 | E1 |
UInt32 | C2 | C1 | N | N | N | N | N | E1 | E1 |
UInt64 | C2 | C1 | N | N | N | N | N | E1 | E1 |
Single data with fractional part | C4 | C3 | N | N | N | N | N | E1 | E1 |
Single data with no fractional part | C2 | C1 | N | N | N | N | N | E1 | E1 |
Double data with fractional part | C4 | C3 | N | N | N | N | N | E1 | E1 |
Double data with no fractional part | C2 | C1 | N | N | N | N | N | E1 | E1 |
Decimal data with fractional part | C4 | C3 | N | N | N | N | N | E1 | E1 |
Decimal data with no fractional part | C2 | C1 | N | N | N | N | N | E1 | E1 |
Char | N1 | N1 | E1 | E1 | E1 | N | N | N | N |
Char[] | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
String | C2 | C1 | N | N | N | N | N | N | N |
DateTime | E1 | E1 | E1 | E1 | E1 | N | N | E1 | E1 |
TimeSpan | E1 | E1 | E1 | E1 | E1 | N | N | E1 | E1 |
Guid | E1 | E1 | E1 | E1 | E1 | N | N | E1 | E1 |
Byte | N | N | N | N | N | N | N | E1 | E1 |
Byte[] | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
Sbyte | N | N | N | N | N | N | N | E1 | E1 |
SByte[] | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
Table 16-7 List of type conversions for INSERT (2/2)
.NET Framework type | HiRDB data type | ||||||||
---|---|---|---|---|---|---|---|---|---|
MC | MVC | DA | T | TS | IY | IHS | BI | BL | |
Boolean | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
Int16 | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Int32 | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Int64 | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
UInt16 | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
UInt32 | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
UInt64 | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Single data with fractional part | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Single data with no fractional part | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Double data with fractional part | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Double data with no fractional part | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Decimal data with fractional part | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Decimal data with no fractional part | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Char | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Char[] | E1 | E1 | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
String | N | N | N | N | N | N | N | E1 | E1 |
DateTime | N | N | N | N | N | E2 | E2 | E1 | E1 |
TimeSpan | N | N | E1 | E1 | E1 | E2 | N | E1 | E1 |
Guid | N | N | E1 | E1 | E1 | E2 | E2 | E1 | E1 |
Byte | N | N | E1 | E1 | E1 | E2 | E2 | N | N |
Byte[] | E1 | E1 | E1 | E1 | E1 | E2 | E2 | N | N |
Sbyte | N | N | E1 | E1 | E1 | E2 | E2 | N | N |
SByte[] | E1 | E1 | E1 | E1 | E1 | E2 | E2 | N | N |
Table 16-8 List of type conversions for SELECT (1/2)
Accessory | HiRDB data type | ||||||||
---|---|---|---|---|---|---|---|---|---|
I | SI | DE | F | SF | C | VC | NC | NVC | |
GetBoolean | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetByte | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetBytes | N | N | E1 | N | N | N | N | N | N |
GetChar | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetChars | E1 | E1 | E1 | E1 | E1 | N | N | N | N |
GetData | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetDateTime | E1 | E1 | E1 | E1 | E1 | C6 | C6 | C6 | C6 |
GetDecimal | N | N | N | N | N | C7 | C7 | C7 | C7 |
GetDouble | N | N | N | N | N | C8 | C8 | C8 | C8 |
GetFloat | N | N | N | N | N | C9 | C9 | C9 | C9 |
GetGuid | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetInt16 | C1 | N | C1 | C1 | C1 | C1 | C1 | C1 | C1 |
GetInt32 | N | N | C2 | C2 | C2 | C2 | C2 | C2 | C2 |
GetInt64 | N | N | C10 | C10 | C10 | C10 | C10 | C10 | C10 |
GetString | N | N | N | N | N | N | N | N | N |
GetValue | N | N | N | N | N | N | N | N | N |
GetValues | N | N | N | N | N | N | N | N | N |
Table 16-9 List of type conversions for SELECT (2/2)
Accessory | HiRDB data type | ||||||||
---|---|---|---|---|---|---|---|---|---|
MC | MVC | DA | T | TS | IY | IHS | BI | BL | |
GetBoolean | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetByte | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetBytes | N | N | E1 | E1 | E1 | E1 | E1 | N | N |
GetChar | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetChars | N | N | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetData | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetDateTime | C6 | C6 | N | N | N | E1 | E1 | E1 | E1 |
GetDecimal | C7 | C7 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetDouble | C8 | C8 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetFloat | C9 | C9 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetGuid | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 | E3 |
GetInt16 | C1 | C1 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetInt32 | C2 | C2 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetInt64 | C10 | C10 | E1 | E1 | E1 | E1 | E1 | E1 | E1 |
GetString | N | N | N | N | N | N | N | N | N |
GetValue | N | N | N | N | N | N | N | N | N |
GetValues | N | N | N | N | N | N | N | N | N |
The following table defines the symbols used for the HiRDB data types:
Symbol | Definition |
---|---|
I | INTEGER |
SI | SMALLINT |
DE | DECIMAL and LARGE DECIMAL |
F | FLOAT/DOUBLE PRECISION |
SF | SMALLFLT and REAL |
C | CHARACTER |
VC | VARCHAR |
NC | NCHAR and 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 |
N indicates normal; C indicates a conditional; and E indicates error. Some of these letters are followed by a number; they are defined as follows:
Symbol | Definition |
---|---|
N | Numeric character code is set. |
C1 |
|
C2 |
|
C3 | -32768 to 32767: Normal (rounded) Out of range: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C4 | -2147483648 to 2147483647: Normal (rounded) Out of range: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C5 | 0 to 255: Normal Out of range: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C6 | DateTime format data: Normal Other: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C7 | Decimal format data: Normal Other: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C8 | Double format data: Normal Other: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C9 | Float format data: Normal Other: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
C10 | -9223372036854775808 to 9223372036854775807: Normal Out of range: [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
E1 | [Hitachi.HiRDB.HiRDBException] KFPZ24026-E format conversion error |
E2 | [Hitachi.HiRDB.HiRDBException] KFPZ24107-E Decimal, date and time, time interval type overflow [Hitachi.HiRDB.HiRDBException] KFPZ24106-E Date and time, time interval type format error |
E3 | [System.NotSupportedException] unsupported error |
All Rights Reserved. Copyright (C) 2011, Hitachi, Ltd.