Partilhar via


C para SQL: carimbo de data/hora

O identificador para o tipo de dados ODBC C de carimbo de data/hora é:

SQL_C_TYPE_TIMESTAMP

A tabela a seguir mostra os tipos de dados SQL ODBC para os quais os dados C de carimbo de data/hora podem ser convertidos. Para obter uma explicação das colunas e termos na tabela, consulte Convertendo dados de C em tipos de dados SQL.

Identificador de tipo SQL Teste SQLSTATE
SQL_CHAR

SQL_VARCHAR

SQL_LONGVARCHAR
Comprimento >do byte da coluna = Comprimento do byte do caractere

19 <= Comprimento < do byte da coluna Comprimento do byte do caractere

Comprimento < do byte da coluna 19

O valor dos dados não é um carimbo de data/hora válido
N/D

22001

22001

22008
SQL_WCHAR

SQL_WVARCHAR

SQL_WLONGVARCHAR
Comprimento >do caractere da coluna = comprimento do caractere dos dados

19 <= Comprimento < do caractere da coluna Comprimento do caractere dos dados

Comprimento do < caractere da coluna 19

O valor dos dados não é um carimbo de data/hora válido
N/D

22001

22001

22008
SQL_TYPE_DATE Os campos de tempo são zero

Os campos de tempo são diferentes de zero

O valor dos dados não contém uma data válida
N/D

22008

22007
SQL_TYPE_TIME Os campos de frações de segundo são zero[a]

Os campos de frações de segundo são diferentes de zero[a]

O valor dos dados não contém uma hora válida
N/D

22008

22007
SQL_TYPE_TIMESTAMP Os campos de frações de segundo não são truncados

Os campos de frações de segundo são truncados

O valor dos dados não é um carimbo de data/hora válido
N/D

22008

22007

[a] Os campos de data da estrutura de carimbo de data/hora são ignorados.

Para obter informações sobre quais valores são válidos em uma estrutura SQL_C_TIMESTAMP, consulte Tipos de dados C, anteriormente neste apêndice.

Quando os dados C de carimbo de data/hora são convertidos em dados SQL de caracteres, os dados de caracteres resultantes estão no "aaaa-mm-dd hh:mm:ss[.f...]".

O driver ignora o valor de comprimento/indicador ao converter dados do tipo de dados C de carimbo de data/hora e assume que o tamanho do buffer de dados é o tamanho do tipo de dados C de carimbo de data/hora. O valor do comprimento/indicador é passado no argumento StrLen_or_Ind em SQLPutData e no buffer especificado com o argumento StrLen_or_IndPtr em SQLBindParameter. O buffer de dados é especificado com o argumento DataPtr em SQLPutData e o argumento ParameterValuePtr em SQLBindParameter.