DABroker for C++

[目次][用語][索引][前へ][次へ]

GetColumnPrecisionメソッド

機能

フィールドの精度(桁数)を取得します。

形式

インデクス番号で指定する場合

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)

DB_ERROR_NOT_FOUND
指定したフィールドがありません。

DB_ERROR_CANNOT_BE_NULL
引数lpctFieldNameにNULLを指定しています。