Condividi tramite


Conversioni dei tipi di dati datetime (ODBC)

Le conversioni seguenti sono già definite da ODBC o sono un'estensione coerente di ODBC. Le conversioni fornite da ogni provider dipendono dalla community servita dal provider, pertanto si può riscontrare la presenza frequente di incoerenze. I valori tra parentesi quadre sono facoltativi.

  • Il formato delle stringhe di data e ora è "yyyy-mm-dd[ hh:mm:ss [.9999999][ più/meno hh:mm]]"

  • Il formato delle stringhe dell'ora è "hh:mm:ss [.9999999]"

  • Il formato delle stringhe della data è "yyyy-mm-dd"

Le conversioni dalle stringhe consentono flessibilità nella larghezza degli spazi vuoti e dei campi. Per ulteriori informazioni, vedere la sezione "Formati di dati: stringhe e valori letterali" in Supporto dei tipi di dati per i miglioramenti relativi alla data/ora ODBC.

Di seguito vengono fornite le regole di conversione generali:

  • Se l'ora non è presente ma il ricevitore può archiviarla, l'ora è impostata su zero.

  • Se la data non è presente ma il ricevitore può archiviarla, viene utilizzata la data corrente.

  • Se nel tipo di dati utilizzato dal client non è presente il fuso orario, ma il server può archiviarlo, la data viene archiviata nel fuso orario del client. Questo comportamento differisce da quello del server.

  • Se il fuso orario non è presente nel tipo di server ma è presente nel tipo di client, l'ora viene convertita in formato UTC prima di essere archiviata nel server.

  • Se l'ora è presente ma il ricevitore non può archiviarla, il componente di ora viene ignorato.

  • Se è presente una data ma il ricevitore non può archiviarla, il componente di data viene ignorato.

  • Se quando si esegue la conversione da C a SQL si verifica il troncamento dei secondi o dei secondi frazionari, viene generato un record di diagnostica con SQLSTATE 22008 e il messaggio "Overflow del campo Datetime".

  • Se quando si esegue la conversione da SQL a C si verifica il troncamento dei secondi o dei secondi frazionari, viene generato un record di diagnostica con SQLSTATE 01S07 e il messaggio "Troncamento frazionario".

Contenuto della sezione