Compartilhar via


Conversões do tipo de dados datetime (ODBC)

As conversões a seguir já estão definidas pelo ODBC ou são uma extensão consistente do ODBC. As conversões fornecidas por cada provedor são determinadas pela comunidade atendida pelo provedor e, com frequência, existem inconsistências entre os resultados. Os valores entre colchetes são opcionais.

  • O formato de cadeias de caracteres datetime é 'aaaa-mm-dd[ hh:mm:ss[.9999999][ mais/menos hh:mm]]'

  • O formato de cadeias de caracteres de hora é 'hh:mm:ss[.9999999]'

  • O formato de cadeias de caracteres de data é 'aaaa-mm-dd'

As conversões de cadeias de caracteres permitem uma flexibilidade nos espaços em branco e na largura dos campos. Para obter mais informações, consulte a seção "Formatos de dados: cadeias de caracteres e literais" do Suporte de tipo de dados para melhorias de data e hora ODBC.

Seguem as regras de conversão gerais:

  • Se não houver uma hora mas o receptor puder armazenar horas, a hora será definida como zero.

  • Se não houver uma data presente, mas o receptor puder armazenar datas, a data atual será usada.

  • Se não houver um fuso horário presente no tipo de dados que o cliente está utilizando, mas o servidor puder armazenar fusos horários, a data será armazenada no fuso horário do cliente. Observe que isso é diferente do comportamento do servidor.

  • Se não houver um fuso horário presente no tipo do servidor, mas o tipo do cliente tiver um fuso horário, a hora será convertida para UTC antes de ser armazenada no servidor.

  • Se houver uma hora presente, mas o receptor não puder armazenar horas, o componente de hora será ignorado.

  • Se houver uma data presente, mas o receptor não puder armazenar datas, o componente de data será ignorado.

  • Se ocorrer o truncamento de segundos ou frações de segundos ao converter do C para o SQL, um registro de diagnóstico será gerado com SQLSTATE 22008 e a mensagem "Estouro do campo datetime".

  • Se ocorrer o truncamento de segundos ou frações de segundos ao converter do SQL para o C, um registro de diagnóstico será gerado com SQLSTATE 01S07 e a mensagem "Truncamento de frações".

Nesta seção

Conversões do C para o SQL
Lista os problemas a serem considerados quando você converte de tipos C para tipos de dados/hora SQL Server.

Conversões de SQL em C
Lista os problemas a serem considerados ao converter de SQL Server tipos de dados/hora em tipos C.

Consulte Também

Aprimoramentos de data e hora (ODBC)