Condividi tramite


Conversioni dei tipi di dati

I dati possono essere convertiti da un tipo a un altro in quattro momenti: quando i dati vengono trasferiti da una variabile dell'applicazione a un'altra (da C a C), quando i dati in una variabile dell'applicazione vengono inviati a un parametro di istruzione (da C a SQL), quando i dati in una colonna del set di risultati vengono restituiti in una variabile dell'applicazione (da SQL a C), e quando i dati vengono trasferiti da una colonna di origine dati a un'altra (da SQL a SQL).

Qualsiasi conversione che si verifica quando i dati vengono trasferiti da una variabile dell'applicazione a un'altra non rientra nell'ambito di questo documento.

Quando un'applicazione associa una variabile a un parametro di istruzione o colonna del set di risultati, l'applicazione specifica in modo implicito una conversione del tipo di dati nella scelta del tipo di dati della variabile dell'applicazione. Si supponga, ad esempio, che una colonna contenga dati interi. Se l'applicazione associa una variabile di numero intero alla colonna, specifica che non viene eseguita alcuna conversione; se l'applicazione associa una variabile di caratteri alla colonna, specifica che i dati devono essere convertiti da numero intero a carattere.

ODBC definisce la modalità di conversione dei dati tra ogni tipo di dati SQL e C. In pratica, ODBC supporta tutte le conversioni ragionevoli, ad esempio da carattere a numero intero e da numero intero a float, e non supporta conversioni non definite, ad esempio da float a data. I driver sono necessari per supportare tutte le conversioni per ogni tipo di dati SQL supportato. Per un elenco completo delle conversioni tra tipi di dati SQL e C, vedere Conversione di dati da tipi di dati SQL a C e Conversione di dati da tipi di dati C a SQL nell'Appendice D: Tipi di dati.

ODBC definisce anche una funzione scalare per la conversione dei dati da un tipo di dati SQL a un altro. La funzione scalare CONVERT viene mappata dal driver alla funzione o alle funzioni scalari sottostanti definite per eseguire conversioni nell'origine dati. Poiché questa funzione è mappata a funzioni specifiche di DBMS, ODBC non definisce il funzionamento di queste conversioni o le conversioni che devono essere supportate. Un'applicazione individua le conversioni supportate da un determinato driver e un’origine dati tramite le opzioni di SQL_CONVERT in SQLGetInfo. Per altre informazioni sulla funzione scalare CONVERT, vedere Sequenze di escape in ODBC e Funzione di conversione esplicita del tipo di dati.