DABroker for C++
機能
フィールドの精度(桁数)を取得します。
形式
インデクス番号で指定する場合
UINT32 GetColumnPrecision(UINT32 dwIndex) throw DBSQLCA
フィールド名で指定する場合
UINT32 GetColumnPrecision(LPCTSTR lpctFieldName) throw DBSQLCA
引数
dwIndex
1から始まるフィールドの番号を指定します。
lpctFieldName
フィールドの名称を指定します。
戻り値
データ型:UINT32
フィールドの精度(桁数)を取得します。COL_TYPE_NUMERICの場合,小数点以下を含めた数値の有効桁数を取得します。
機能詳細
指定されたフィールドのデータの精度(桁数)を取得します。
指定されたフィールドのデータ型によって,戻り値の持つ意味が異なるものがあります。各データ型で返す値(Precision,Scale)を,表5-2から5-9に示します。
表5-2 Precision,Scaleで返す値(ORACLE)
| データ型 | Precision | Scale |
|---|---|---|
| NUMBER(固定小数点数) | 定義長 | 小数点以下の桁数 |
| NUMBER(浮動小数点数) | 45 | 0 |
| VARCHAR2 | 定義長 | 0 |
| RAW | 定義長 | 0 |
| LONG | 0 | 0 |
| LONG RAW | 0 | 0 |
| DATE | 32※ | 0 |
| ROWID | 18 | 0 |
注※ この値は,sizeof(DBR_DATETIME)で取得した値です。
表5-3 Precision,Scaleで返す値(SQL Anywhere)
| データ型 | Precision | Scale |
|---|---|---|
| CHAR CHARACTER VARCHAR CHARACTER VARYING |
定義長 | 0 |
| SYSNAME | 30 | 0 |
| LONG VARCHAR TEXT |
0 | 0 |
| SMALLINT BIT TINYINT |
6 | 0 |
| INT INTEGER |
11 | 0 |
| DECIMAL NUMERIC |
定義長 | 定義長 |
| MONEY | 19 | 4 |
| SMALLMONEY | 10 | 4 |
| REAL | 9 | 0 |
| DOUBLE | 17 | 0 |
| DATE | 32※ | 0 |
| TIME | 32※ | 0 |
| TIMESTAMP DATETIME SMALLDATETIME |
32※ | 0 |
| BINARY | 定義長 | 0 |
| LONG BINARY IMAGE |
0 | 0 |
注※ この値は,sizeof(DBR_DATETIME)で取得した値です。
表5-4 Precision,Scaleで返す値(Adaptive Server Anywhere)
| データ型 | Precision | Scale |
|---|---|---|
| CHAR CHARACTER VARCHAR CHARACTER VARYING |
定義長 | 0 |
| SYSNAME | 30 | 0 |
| LONG VARCHAR TEXT |
0 | 0 |
| SMALLINT BIT TINYINT OLDBIT |
6 | 0 |
| INT INTEGER |
11 | 0 |
| DECIMAL NUMERIC |
定義長 | 定義長 |
| MONEY | 19 | 4 |
| SMALLMONEY | 10 | 4 |
| REAL | 9 | 0 |
| DOUBLE | 17 | 0 |
| DATE | 32※ | 0 |
| TIME | 32※ | 0 |
| TIMESTAMP DATETIME SMALLDATETIME |
32※ | 0 |
| BINARY VARBINARY |
定義長 | 0 |
| LONG BINARY IMAGE java serialization java.lang.Object |
0 | 0 |
| BIGINT | 20 | 0 |
注※ この値は,sizeof(DBR_DATETIME)で取得した値です
表5-5 Precision,Scaleで返す値(SQL Server)
| データ型 | Precision | Scale |
|---|---|---|
| CHAR VARCHAR |
定義長 | 0 |
| TEXT | 0 | 0 |
| SMALLINT TINYINT BIT |
6 | 0 |
| INT | 11 | 0 |
| DECIMAL NUMERIC |
定義長 | 定義長 |
| MONEY | 19 | 4 |
| SMALLMONEY | 10 | 4 |
| REAL | 9 | 0 |
| DOUBLE | 17 | 0 |
| DATETIME SMALLDATETIME |
32※ | 0 |
| TIMESTAMP | 8 | 0 |
| BINARY VARBINARY |
定義長 | 0 |
| IMAGE | 0 | 0 |
注※ この値は,sizeof(DBR_DATETIME)で取得した値です
表5-6 Precision,Scaleで返す値(HiRDB)
| データ型 | Precision | Scale |
|---|---|---|
| SMALLINT | 6 | 0 |
| INT | 11 | 0 |
| SMALLFLT | 9 | 0 |
| FLOAT | 17 | 0 |
| DECIMAL | 定義長 | 小数点以下の桁数 |
| CHAR | 定義長 | 0 |
| VARCHAR | 定義長 | 0 |
| MCHAR | 定義長 | 0 |
| MVARCHAR | 定義長 | 0 |
| NCHAR | 定義長×2 | 0 |
| NVARCHAR | 定義長×2 | 0 |
| DATE | 32※ | 0 |
| TIME | 32※ | 0 |
| INTERVAL YEAR TO DAY | 32※ | 0 |
| INTERVAL HOUR TO SECOND | 32※ | 0 |
| BLOB | 定義長 | 0 |
| BINARY | 定義長 | 0 |
注※ この値は,sizeof(DBR_DATETIME)で取得した値です。
表5-7 Precision,Scaleで返す値(XDM/RD)
| データ型 | Precision | Scale |
|---|---|---|
| DECIMAL | 定義長 | 小数点以下の桁数 |
| LARGE DECIMAL | 定義長 | 小数点以下の桁数 |
| INT | 11 | 0 |
| SMALLINT | 6 | 0 |
| FLOAT | 17 | 0 |
| SMALLFLT | 9 | 0 |
| CHAR | 定義長 | 0 |
| VARCHAR | 定義長 | 0 |
| LONG VARCHAR | 定義長 | 0 |
| MCHAR | 定義長 | 0 |
| MVARCHAR | 定義長 | 0 |
| LONG MVARCHAR | 定義長 | 0 |
| NCHAR | 定義長×2 | 0 |
| NVARCHAR | 定義長×2 | 0 |
| LONG NVARCHAR | 定義長×2 | 0 |
| DATE | 32※ | 0 |
注※ この値は,sizeof(DBR_DATETIME)で取得した値です。
表5-8 Precision,Scaleで返す値(SQL/K)
| データ型 | Precision | Scale |
|---|---|---|
| SMALLINT | 2 | 0 |
| INTEGER | 4 | 0 |
| DECIMAL | 定義長 | 定義長 |
| NUMERIC TRAILING | 定義長 | 定義長 |
| NUMERIC UNSIGNED | 定義長 | 定義長 |
| CHAR | 定義長 | 0 |
| NCHAR | 定義長×2 | 0 |
| MCHAR | 定義長 | 0 |
| XCHAR | 定義長 | 0 |
表5-9 Precision,Scaleで返す値(XDM/SD)
| データ型 | Precision | Scale |
|---|---|---|
| BIT | 定義長 | 0 |
| $DBK(データベースキー) | 定義長 | 0 |
| NUMERIC TRAILING | 定義長 | 定義長 |
| DECIMAL | 定義長 | 定義長 |
| INTEGER | 4 | 0 |
| SMALLFLT | 2 | 0 |
| NCHAR | 定義長×2 | 0 |
| CHAR | 定義長 | 0 |
発生する例外
DBSQLCA(RetCode)
All Rights Reserved. Copyright (C) 1998, 2015, Hitachi, Ltd.