CORRECÇÃO: Dividir 0 por um resulta de número negativo decimal ou numérico em - 0

Traduções deste artigo Traduções deste artigo
ID do artigo: 285544 - Exibir os produtos aos quais esse artigo se aplica.
Erro nº: 203148 (SHILOH_bugs)
Expandir tudo | Recolher tudo

Sintomas

Ao usar tipos de dados decimal ou numérico, se você dividir 0 por um negativo número, um 0 negativo (- 0) é retornado.

Resolução

Para resolver esse problema, obtenha o service pack mais recente para o SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000

Como Contornar

Procurar 0 antes de executar a divisão e evitar a divisão se 0 é envolvida; por exemplo:
declare @v1 dec(10, 2), @v2 dec(2, 1), @v3 dec (10,2) 
-- @v3 is the result of @v1/@v2
select @v1 = 0.0, @v2 = -1.0
if @v1 = 0  
   select @v3 = 0.0
else
   select @v3 = @v1 / @v2
				

Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Esse problema foi corrigido primeiro no SQL Server 2000 Service Pack 1.

Mais Informações

SQL Server não considera o valor calculado (- 0) igual a 0, então, a comparação do valor calculado (- 0) com falha 0. Por exemplo, o seguinte código
   declare @v1 dec(10, 2), @v2 dec(2, 1)
   select @v1 = 0.0, @v2 = -1.0
   if @v1 / @v2 = 0  
      print 'equals zero'
   else
      print 'not equal zero'
				
fornece o seguinte resultado:
   not equal zero 
				
Para obter informações adicionais sobre bugs relacionados no SQL Server 7.0, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
275608CORRECÇÃO: Operações matemáticos em decimal ou numérico colunas com números negativos podem retornar resultados inesperados

Propriedades

ID do artigo: 285544 - Última revisão: quinta-feira, 16 de outubro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB285544 KbMtpt
Tradução automática
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: 285544

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com