none
división entre cero. ayuda

    Pregunta

  • hola

    tengo un problema con una consulta SQL

    cuando lo ejecuto me sale un error diciendo :

    "Error de división entre cero."

    una ayuda de como poder controlar esto

    gracias..

     


    deRuNoMas
    lunes, 28 de marzo de 2011 14:04

Respuestas

  • El error es lo mismo que si intentas dividir por cero en una calculadora: es una operación que no se puede realizar.

    Para solucionarlo en tu contexto, tendrás que ser previsor y decidir qué hacer en caso de que el divisor sea 0. Esto se realiza con un CASE. Por ejemplo, el siguiente script devuelve NULL en caso de que el divisor sea 0:

    SELECT CASE WHEN divisor = 0 THEN NULL ELSE dividendo/divisor END AS division

    lunes, 28 de marzo de 2011 15:18

Todas las respuestas

  • Hola,


    Debes enviarnos la consulta que estas ejecutando, pero el problema que tienes es que la división entre CERO no es permitida, entonces debes tener alguna división en la que el resultado esta llegando en CERO. Si nos pasas la sentencia te podemos decir donde esta el problema exactamente, al menos que sepas como validar que no haga esto.

     

    IT Teach - Sustituir valor por cero u otro valor


    Willy Taveras.-
    República Dominicana


    IT Learn - Learning Together
    IT Learn - Teaching Together

     


    lunes, 28 de marzo de 2011 14:39
    Moderador
  • Puedes proporcionarnos algo mas de información. Diseño de tu taba, definición de sus campos... Consulta que estas haciendo. ¿?

    Por otro lado te comento:
    Puede existir un Error de división (interrupción 0):
    Este error es debido a que el registro de destino no puede contener el resultado de una operación de división. Puede ser una división entre cero o un desbordamiento de división.


     Norman M. Pardell 

    ||Microsoft Certified IT Professional|| Database Administrator. Database Developer. SQL Server 2008

    lunes, 28 de marzo de 2011 14:43
  • El error es lo mismo que si intentas dividir por cero en una calculadora: es una operación que no se puede realizar.

    Para solucionarlo en tu contexto, tendrás que ser previsor y decidir qué hacer en caso de que el divisor sea 0. Esto se realiza con un CASE. Por ejemplo, el siguiente script devuelve NULL en caso de que el divisor sea 0:

    SELECT CASE WHEN divisor = 0 THEN NULL ELSE dividendo/divisor END AS division

    lunes, 28 de marzo de 2011 15:18