Lunghezza dell'ottetto di trasferimento
La lunghezza dell'ottetto di trasferimento di una colonna è il numero massimo di byte restituiti all'applicazione quando i dati vengono trasferiti al tipo di dati C predefinito. Per i dati di tipo carattere, la lunghezza dell'ottetto di trasferimento non include lo spazio per il carattere di terminazione Null. La lunghezza dell'ottetto di trasferimento di una colonna può essere diversa dal numero di byte necessari per archiviare i dati nell'origine dati.
La lunghezza dell'ottetto di trasferimento definita per ogni tipo di dati SQL ODBC è illustrata nella tabella seguente.
Identificatore del tipo SQL | Lunghezza |
---|---|
Tutti i tipi di caratteri[a] | Lunghezza definita o massima (per tipo variabile) della colonna in byte. Si tratta dello stesso valore del campo descrittore SQL_DESC_OCTET_LENGTH. |
SQL_DECIMAL SQL_NUMERIC |
Numero di byte necessari per contenere la rappresentazione di caratteri di questi dati se il set di caratteri è ANSI e due volte questo numero se il set di caratteri è UNICODE. Questo è il numero massimo di cifre più due, perché i dati vengono restituiti come stringa di caratteri e caratteri sono necessari per le cifre, un segno e un separatore decimale. Ad esempio, la lunghezza di trasferimento di una colonna definita come NUMERIC(10,3) è 12. |
SQL_TINYINT | 1 |
SQL_SMALLINT | 2 |
SQL_INTEGER | 4 |
SQL_BIGINT | 8 |
SQL_REAL | 4 |
SQL_FLOAT | 8 |
SQL_DOUBLE | 8 |
SQL_BIT | 1 |
Tutti i tipi binari[a] | Numero di byte necessari per contenere il numero di caratteri definito (per i tipi fissi) o massimo (per i tipi variabili). |
SQL_TYPE_DATE SQL_TYPE_TIME |
6 (la dimensione del SQL_DATE_STRUCT o della struttura SQL_TIME_STRUCT). |
SQL_TYPE_TIMESTAMP | 16 (la dimensione della struttura SQL_TIMESTAMP_STRUCT). |
Tutti i tipi di dati interval | 34 (la dimensione della struttura dell'intervallo). |
SQL_GUID | 16 (dimensioni della struttura GUID). |
[a] Se il driver non è in grado di determinare la lunghezza della colonna o del parametro per i tipi di variabili, restituisce SQL_NO_TOTAL.