INFO: Da manipulação de nulos, NULL strings e em branco no SQL Server

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 45917
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
As informações a seguir descreve como nulos, seqüências de caracteres nulas e seqüências de caracteres em branco são processadas no SQL Server.
Mais Informações
SQL Server automaticamente remove espaços em branco à direita de seqüências de caracteres antes de armazenar a seqüência de caracteres se o tipo de dados for VARCHAR ou se o tipo de dados é CHAR e nulos são permitidos. Um espaço em branco à direita é também o primeiro caractere na seqüência de caracteres não é removido. Espaços em branco à direita serão preservados se o tipo de dados é CHAR e nulos não são permitidos.

Se a seqüência contém somente espaços em branco (0 x 20), um único espaço em branco será armazenado.

Se a seqüência de caracteres tem comprimento zero e contém nada em todos os (isto é, ""), SQL Server converte-lo para um único espaço em branco antes de armazená-lo.

A única maneira para obter o SQL Server para armazenar um verdadeiro nulo é usar a palavra-chave "NULL" na instrução INSERT ou UPDATE.

Por exemplo, suponha que a tabela que T1 tem uma coluna de tipo CHAR(10) com nulos permitidos, da seguinte maneira:
   INSERT T1 VALUES (NULL)   <--- Inserts a true null   INSERT T1 VALUES ("")     <--- Inserts a single blank (0x20)   INSERT T1 VALUES ("  ")          ''        ''     ''    ''   INSERT T1 VALUES ("   ")         ''        ''     ''    ''   INSERT T1 VALUES ("    ")        ''        ''     ''    ''				

Se o tipo de dados for CHAR (comprimento fixo) com nulos permitidos, os espaços em branco à direita que foram removidos não serão restaurados pela DB-Library (biblioteca de banco de dados). Por exemplo, se uma coluna é definida como NULL CHAR(10) e se ('rec1') for inserida, a função dbdatlen() retornará 4. Se a coluna é definida como CHAR(10) sem nulos permitidos e os mesmos dados carregados, a função dbdatlen() retornará 10.
Transact-SQL dblib Windows NT

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 45917 - Última Revisão: 12/04/2015 09:03:39 - Revisão: 1.1

Microsoft SQL Server 4.21a Standard Edition

  • kbnosurvey kbarchive kbmt kbinfo kbprogramming KB45917 KbMtpt
Comentários