Cifre decimali
Le cifre decimali dei tipi di dati decimali e numerici sono definite come il numero massimo di cifre a destra del separatore decimale o la scala dei dati. Per le colonne o i parametri approssimativi di numeri a virgola mobile, la scala non è definita perché il numero di cifre a destra del separatore decimale non è fisso. Per i dati datetime o interval che contengono un componente secondi, le cifre decimali vengono definite come numero di cifre a destra del separatore decimale nel componente secondi dei dati.
Per i tipi di dati SQL_DECIMAL e SQL_NUMERIC, la scala massima è in genere uguale alla precisione massima. Tuttavia, alcune origini dati impongono un limite separato sulla scala massima. Per determinare le scale minime e massime consentite per un tipo di dati, un'applicazione chiama SQLGetTypeInfo.
Le cifre decimali definite per ogni tipo di dati SQL conciso sono illustrate nella tabella seguente.
Tipo SQL | Cifre decimali |
---|---|
Tutti i tipi di carattere e binari[a] | N/D |
SQL_DECIMAL SQL_NUMERIC |
Numero definito di cifre a destra del separatore decimale. Ad esempio, la scala di una colonna definita come NUMERIC(10,3) è 3. Questo può essere un numero negativo per supportare l'archiviazione di numeri molto grandi senza usare la notazione esponenziale; Ad esempio, "12000" può essere archiviato come "12" con una scala di -3. |
Tutti i tipi numerici esatti diversi da SQL_DECIMAL e SQL_NUMERIC[a] | 0 |
Tutti i tipi di dati approssimativi[a] | N/D |
SQL_TYPE_DATE e tutti i tipi di intervallo senza componente secondi[a] | N/D |
Tutti i tipi datetime tranne SQL_TYPE_DATE e tutti i tipi di intervallo con un componente secondi | Numero di cifre a destra del separatore decimale nella parte dei secondi del valore (secondi frazionari). Questo numero non può essere negativo. |
SQL_GUID | N/D |
[a] L'argomento DecimalDigits di SQLBindParameter viene ignorato per questo tipo di dati.
I valori restituiti per le cifre decimali non corrispondono ai valori in un campo descrittore. I valori possono provenire dal SQL_DESC_SCALE o dal campo SQL_DESC_PRECISION, a seconda del tipo di dati, come illustrato nella tabella seguente.
Tipo SQL | Campo descrittore corrispondente a cifre decimali |
---|---|
Tutti i tipi di caratteri e binari | N/D |
Tutti i tipi numerici esatti | SCALE |
SQL_BIT | N/D |
Tutti i tipi numerici approssimativi | N/D |
Tutti i tipi datetime | PRECISION |
Tutti i tipi di intervallo con un componente secondi | PRECISION |
Tutti i tipi di intervallo senza componente secondi | n/d |