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

Traduções de Artigos Traduções de Artigos
Artigo: 285544 - Ver produtos para os quais este artigo se aplica.
Erro n.º: 203148 (SHILOH_bugs)
Expandir tudo | Reduzir tudo

Sintomas

Quando utilizar tipos de dados decimal ou numérico, se dividir 0 por um negativo número, um 0 negativo (- 0) é devolvido.

Resolução

Para resolver este problema, obtenha o service pack mais recente do SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How to Obtain the Latest SQL Server 2000 Service Pack

Como contornar

Procure 0 antes de executar a divisão e evitar a divisão se 0 está envolvido; 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
				

Ponto Da Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Este problema foi corrigido pela primeira vez no SQL Server 2000 Service Pack 1.

Mais Informação

SQL Server não considera o valor calculado (- 0) igual a 0, por isso a comparação de valor calculado (- 0) com 0 falhar. 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'
				
Implementos o seguinte resultado:
   not equal zero 
				
Para obter informações adicionais sobre erros relacionados no SQL Server 7.0, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
275608CORRECÇÃO: Operações Mathematical numéricos ou decimais colunas com números negativos podem devolver resultados inesperados

Propriedades

Artigo: 285544 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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