10 進数字
10 進数データ型と数値データ型の 10 進数は、小数点の右側の最大桁数、またはデータの小数点以下桁数として定義されます。 おおよその浮動小数点数列またはパラメーターの場合、小数点以下桁数が固定されていないため、小数点以下桁数は未定義です。 秒の部分を含む datetime または interval データの場合、10 進数は、データの秒部分の小数点の右側の桁数として定義されます。
SQL_DECIMALデータ型とSQL_NUMERICデータ型の場合、最大スケールは通常、最大有効桁数と同じです。 ただし、一部のデータ ソースでは、最大スケールに個別の制限が適用されます。 データ型に対して許可される最小スケールと最大スケールを決定するために、アプリケーションは SQLGetTypeInfo を呼び出します。
簡潔な SQL データ型ごとに定義されている 10 進数を次の表に示します。
SQL 型 | 数字 |
---|---|
すべての文字型とバイナリ型 [a] | 該当なし |
SQL_DECIMAL SQL_NUMERIC |
小数点の右側に定義された桁数。 たとえば、NUMERIC(10,3) として定義された列のスケールは 3 です。 指数表記を使用せずに非常に大きな数値の格納をサポートするには、負の数を指定できます。たとえば、スケールが -3 の "12000" を "12" として格納できます。 |
SQL_DECIMAL および SQL_NUMERIC[a] 以外のすべての正確な数値型 | 0 |
すべてのおおよそのデータ型 [a] | 該当なし |
SQL_TYPE_DATE、秒のないすべての間隔の種類 [a] | 該当なし |
SQL_TYPE_DATEを除くすべての datetime 型と、秒コンポーネントを持つすべての間隔型 | 値の秒部分の小数点の右側の桁数 (秒の小数部)。 この数値を負の値にすることはできません。 |
SQL_GUID | 該当なし |
[a] SQLBindParameter の DecimalDigits 引数は、このデータ型では無視されます。
10 進数に対して返される値は、1 つの記述子フィールドの値に対応していません。 値は、次の表に示すように、データ型に応じて、SQL_DESC_SCALE または SQL_DESC_PRECISION フィールドから取得できます。
SQL 型 | に対応する記述子フィールド 桁 |
---|---|
すべての文字型とバイナリ型 | 該当なし |
すべての正確な数値型 | SCALE |
SQL_BIT | 該当なし |
すべての近似数値型 | 該当なし |
すべての datetime 型 | PRECISION |
秒コンポーネントを含むすべての間隔の種類 | PRECISION |
秒コンポーネントのないすべての間隔の種類 | N/A |