Share via


Conversiones del tipo de datos de fecha y hora (ODBC)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Las conversiones siguientes ya están definidas por ODBC o son una extensión coherente de ODBC. La comunidad atendida por el proveedor determina las conversiones proporcionadas por cada proveedor y, a consecuencia de ello, hay incoherencias a menudo entre los proveedores. Los valores entre corchetes son opcionales.

  • El formato de las cadenas de fecha y hora es 'aaaa-mm-dd [hh:mm:ss [,9999999] [más/menos hh:mm]]'

  • El formato de las cadenas de hora es 'hh:mm:ss [,9999999]'

  • El formato de las cadenas de fecha es 'aaaa-mm-dd'

Las conversiones de las cadenas permiten flexibilidad en los espacios en blanco y el ancho de campo. Para obtener más información, vea la sección "Formatos de datos: cadenas y literales" de Compatibilidad de tipos de datos con mejoras de fecha y hora ODBC.

A continuación figuran las reglas de conversión generales:

  • Si no está presente la hora pero el receptor puede almacenar la hora, esta última se establece en cero.

  • Si no está presente la fecha pero el receptor puede almacenar fechas, se utiliza la fecha actual.

  • Si no está presente la zona horaria en el tipo de datos que el cliente utiliza pero el servidor puede almacenar la zona horaria, se almacena la fecha en la zona horaria del cliente. Observe que esto difiere del comportamiento del servidor.

  • Si no está presente la zona horaria en el tipo de servidor pero el tipo de cliente tiene una zona horaria, la hora se convierte en UTC antes de almacenarse en el servidor.

  • Si está presente la hora pero el receptor no puede almacenar la hora, se omite el componente de hora.

  • Si está presente la fecha pero el receptor no puede almacenar la fecha, se omite el componente de fecha.

  • Si se produce una truncación de segundos o fracciones de segundo al convertir de C a SQL, se genera un registro de diagnóstico con SQLSTATE 22008 y el mensaje "Desbordamiento del campo DateTime".

  • Si se produce una truncación de segundos o fracciones de segundo al convertir de SQL a C, se genera un registro de diagnóstico con SQLSTATE 01S07 y el mensaje "Truncamiento fraccionario".

En esta sección

Conversiones de C a SQL
Enumera los problemas que se deben tener en cuenta al convertir de tipos de C a SQL Server tipos de datos y hora.

Conversiones de SQL a C
Enumera los problemas que se deben tener en cuenta al convertir de tipos de datos y hora de SQL Server a tipos de C.

Consulte también

Mejoras en la fecha y la hora (ODBC)