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)