Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Importante
SQL Server Native Client (SNAC) não é fornecido com:
- SQL Server 2022 (16.x) e versões posteriores
- SQL Server Management Studio 19 e versões posteriores
O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Microsoft OLE DB Provider for SQL Server (SQLOLEDB) herdado não são recomendados para o desenvolvimento de novos aplicativos.
Para novos projetos, use um dos seguintes drivers:
Para o SQLNCLI fornecido como componente do Mecanismo de Base de Dados do SQL Server (versões de 2012 a 2019), consulte esta exceção ao Ciclo de Vida de Suporte .
Este tópico descreve o suporte ao Cliente Nativo do SQL Server para os tipos de dados de data e hora que foram adicionados no SQL Server 2008 (10.0.x).
Para mais informações sobre melhorias de data/hora, consulte Melhorias de Data e Hora (OLE DB) e Melhorias de Data e Hora (ODBC).
Usage
As secções seguintes descrevem várias formas de utilizar os novos tipos de data e hora.
Usar Data como Tipo de Dado Distinto
A partir de SQL Server 2008 (10.0.x), o suporte melhorado para tipos de data/hora torna mais eficiente a utilização do tipo ODBC SQL_TYPE_DATE (SQL_DATE para aplicações ODBC 2.0) e do tipo DBTYPE_DBDATE OLE DB.
Usar o tempo como um tipo de dado distinto
O OLE DB já tem um tipo de dado que contém apenas o tempo, DBTYPE_DBTIME, que tem uma precisão de 1 segundo. No ODBC, o tipo equivalente é SQL_TYPE_TIME (SQL_TIME para aplicações ODBC 2.0).
O novo tipo de data de tempo do SQL Server tem frações de segundo de precisão até 100 nanossegundos. Isto requer novos tipos em SQL Server Cliente Nativo: DBTYPE_DBTIME2 (OLE DB) e SQL_SS_TIME2 (ODBC). Aplicações existentes escritas para usar tempos sem frações de segundo podem usar colunas de tempo(0). Os tipos SQL_TYPE_TIME DBTYPE_TIME OLE DB e ODBC existentes e as respetivas estruturas devem funcionar corretamente, a menos que as aplicações dependam do tipo devolvido nos metadados.
Use o tempo como um tipo de dado distinto com precisão de frações de segundo estendido
Algumas aplicações, como o controlo de processos e as aplicações de fabrico, exigem a capacidade de lidar com dados temporais com uma precisão de até 100 nanossegundos. Novos tipos para este fim são DBTYPE_DBTIME2 (OLE DB) e SQL_SS_TIME2 (ODBC).
Use a Data-Hora com Precisão Estendida em Frações de Segundo
O OLE DB já define um tipo com precisão de até 1 nanossegundo. No entanto, este tipo já é utilizado por aplicações SQL Server existentes e tais aplicações têm uma expectativa de precisão de apenas 1/300 de segundo. O novo tipo datetime2(3) não é diretamente compatível com o tipo de data-hora existente. Se houver risco de que isto afete o comportamento das aplicações, as aplicações devem usar uma nova bandeira de coluna de dados para determinar o tipo real de servidor.
O ODBC também define um tipo com uma precisão de até 1 nanossegundo. No entanto, este tipo já é utilizado por aplicações SQL Server existentes e tais aplicações exigem apenas uma precisão de 3 milissegundos. O novo tipo datetime2(3) não é diretamente compatível com o tipo de data-hora existente. datetime2(3) tem uma precisão de um milissegundo, e datetime tem uma precisão de 1/300 de segundo. No ODBC, as aplicações podem determinar que tipo de servidor está em uso com o campo descritor SQL_DESC_TYPE_NAME. Assim, o tipo SQL_TYPE_TIMESTAMP existente (SQL_TIMESTAMP para aplicações ODBC 2.0) pode ser usado para ambos os tipos.
Usar Data-Hora com Precisão e Fuso Temporal Estendidos
Algumas aplicações requerem valores de data-hora com a informação do fuso horário. Isto é suportado pelos novos tipos DBTYPE_DBTIMESTAMPOFFSET (OLE DB) e SQL_SS_TIMESTAMPOFFSET (ODBC).
Use dados de Data/Hora/Data/Hora/Datatimeoffset com Client-Side Conversões Consistentes com Conversões Existentes
A norma ODBC descreve como funcionam as conversões entre tipos existentes de data, hora e carimbo temporal. Estes são estendidos de forma consistente para incluir conversões entre todos os tipos de data e hora introduzidos no SQL Server 2008 (10.0.x).