Share via


Uso do tipo de dados

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

O driver ODBC SQL Server Native Client e SQL Server impõem o seguinte uso de tipos de dados.

Tipo de dados Limitação
Literais de data Literais de data, quando armazenados em uma coluna SQL_TYPE_TIMESTAMP (SQL Server tipos de dados de datetime ou smalldatetime), têm um valor de hora de 12:00:00.000.
dinheiro e dinheiro pequeno Somente as partes inteiras dos tipos de dados money e smallmoney são significativas. Se a parte decimal dos dados do SQL Money for truncada durante a conversão de tipo de dados, o driver ODBC SQL Server Native Client retornará um aviso, não um erro.
SQL_BINARY (nullable) Quando conectado a uma instância do SQL Server versão 6.0 e anterior, se uma coluna SQL_BINARY for anulável, os dados armazenados na fonte de dados não serão adicionados com zeros. Quando os dados de tal coluna são recuperados, o SQL Server Native Client driver ODBC os preenche com zeros à direita. No entanto, os dados criados em operações executadas por SQL Server, como concatenação, não têm esse preenchimento.

Além disso, quando os dados são colocados em tal coluna em uma instância do SQL Server 6.0 ou anterior, SQL Server trunca os dados à direita se for muito longo para caber na coluna.

Observação: o driver ODBC SQL Server Native Client dá suporte à conexão ao SQL Server 6.5 e anterior.
SQL_CHAR (truncation) Quando conectado a uma instância do SQL Server 6.0 e anterior, e os dados são colocados em uma coluna SQL_CHAR, SQL Server trunca-os à direita sem aviso se os dados forem muito longos para caber na coluna.

Observação: o driver ODBC SQL Server Native Client dá suporte à conexão ao SQL Server 6.5 e anterior.
SQL_CHAR (nullable) Quando conectado a uma instância do SQL Server 6.0 e anterior, se uma coluna SQL_CHAR for anulável, os dados armazenados na fonte de dados não serão preenchidos com espaços em branco. Quando dados de tal coluna são recuperados, o SQL Server Native Client driver ODBC os preenche com espaços em branco à direita. No entanto, os dados criados em operações executadas por SQL Server, como concatenação, não têm esse preenchimento.

Observação: o driver ODBC SQL Server Native Client dá suporte à conexão ao SQL Server 6.5 e anterior.
SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_WLONGVARCHAR Atualizações de colunas com tipos de dados SQL_LONGVARBINARY, SQL_LONGVARCHAR ou SQL_WLONGVARCHAR (usando uma cláusula WHERE) que afetam várias linhas têm suporte total quando conectadas a uma instância do SQL Server 6. x e posterior. Quando conectado a uma instância do SQL Server 4.2x, um erro S1000, "Inserção/atualização parcial. A inserção/atualização de coluna(s) de text ou imagem não foi concluída com êxito" será retornado se a atualização afetar mais de uma linha.

Observação: o driver ODBC SQL Server Native Client dá suporte à conexão ao SQL Server 6.5 e anterior.
Parâmetros de função de cadeia de caracteres string_exp parâmetros para as funções de cadeia de caracteres devem ser do tipo de dados SQL_CHAR ou SQL_VARCHAR. Não há suporte para os tipos de dados SQL_LONG_VARCHAR nas funções de cadeia de caracteres. O parâmetro count deve ser menor ou igual a 8.000 porque os tipos de dados SQL_CHAR e SQL_VARCHAR são limitados a um comprimento máximo de 8.000 caracteres.
Literais de hora Literais de tempo, quando armazenados em uma coluna de SQL_TIMESTAMP (SQL Server tipos de dados de datetime ou smalldatetime), têm um valor de data de 1º de janeiro de 1900.
timestamp Somente um valor NULL pode ser inserido manualmente em uma coluna de carimbo de data/hora . No entanto, como as colunas de carimbo de data/horasão atualizadas automaticamente por SQL Server, um valor NULL é substituído.
tinyint O tipo de dados tinyint SQL Server não está assinado. Uma coluna tinyint é associada a uma variável de tipo de dados SQL_C_UTINYINT por padrão.
Tipos de dados de alias Quando conectado a uma instância do SQL Server 4.2x, o driver ODBC adiciona NULL a uma definição de coluna que não declara explicitamente a nulidade de uma coluna. Portanto, a nulidade armazenada na definição de um tipo de dados de alias é ignorada.

Quando conectadas a uma instância do SQL Server 4.2x, colunas com um tipo de dados de alias que tem um tipo de dados base de char ou binário e para o qual nenhuma nulidade é declarada são criadas como tipo de dados varchar ou varbinary. SQLColAttribute, SQLColumns e SQLDescribeCol retornam SQL_VARCHAR ou SQL_VARBINARY como o tipo de dados para essas colunas. Os dados recuperados dessas colunas não são preenchidos.

Observação: o driver ODBC SQL Server Native Client dá suporte à conexão ao SQL Server 6.5 e anterior.
Tipos de dados LONG Os parâmetros data-at-execution são restritos para os tipos de dados SQL_LONGVARBINARY e SQL_LONGVARCHAR.
Tipos de valor grande O driver ODBC SQL Server Native Client exporá os tipos varchar(max), varbinary(max)e nvarchar(max) como SQL_VARCHAR, SQL_VARBINARY e SQL_WVARCHAR (respectivamente) em APIs que aceitam ou retornam tipos de dados SQL ODBC.
UDT (tipo definido pelo usuário) As colunas UDT são mapeadas como SQL_SS_UDT. Se você mapear uma coluna UDT explicitamente para outro tipo na instrução SQL usando os métodos ToString() ou ToXMLString() do UDT, ou as funções CAST/CONVERT, o tipo de coluna no conjunto de resultados refletirá o tipo para o qual a coluna foi convertida.

O driver ODBC SQL Server Native Client só pode ser associado a uma coluna UDT como binário. SQL Server só dá suporte à conversão entre os tipos de dados SQL_SS_UDT e SQL_C_BINARY.
XML SQL Server converterá automaticamente XML em texto Unicode. O tipo XML é mapeado como SQL_SS_XML.

Consulte Também

Processando resultados (ODBC)