Conversioni dei tipi di dati datetime (ODBC)

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

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 altre informazioni, vedere la sezione "Formati di dati: stringhe e valori letterali" di Supporto dei tipi di dati per i miglioramenti di data e ora ODBC.

Di seguito vengono fornite le regole di conversione generali:

  • Se l'ora non è presente ma il ricevitore può archiviare l'ora, questa viene 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".

In questa sezione

Conversioni da tipi di dati C a tipi di dati SQL
Elenca i problemi da considerare quando si esegue la conversione da tipi C a tipi di dati/ora di SQL Server.

Conversioni dai tipi di dati SQL ai tipi di dati C
Elenca i problemi da considerare quando si esegue la conversione da tipi di dati/ora di SQL Server a tipi C.

Vedi anche

Miglioramenti relativi a data e ora (ODBC)