Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Ajout d'une colonne calculée et division par 0


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Ajout d'une colonne calculée et division par 0
    Bonjour tout le monde,

    qui peut m'aider à trouver la bonne requête SQL SERVER pour ajouter une colonne calculée, ma formule est la suivante

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ALTER TABLE dbo.stock ADD T1 AS ((note1 + Note2 + Note3) / (Note4 + Note5 + Note6)) PERSISTED;


    Le problème que j'ai, c'est que je peux avoir des valeurs NULL exemple de résultat = (0 / 0)

    et le message que j'ai en exécutant la requête :

    Msg 8134, Level 16, State 1, Line 1
    Divide by zero error encountered.
    The statement has been terminated.
    Merci pour votre aide (:

  2. #2
    Rédacteur

    Il faut éviter le zéro dans le dividende, par exemple en employant la fonction NULLIF:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ALTER TABLE dbo.stock ADD T1 AS ((note1 + Note2 + Note3) / NULLIF((Note4 + Note5 + Note6)), 0) PERSISTED;


    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Futur Membre du Club
    Ajout d'une Colonne calculée SQL SERVER Division /0
    Bonjour,

    Merci pour ta réponse, peux tu me donner la bonne requête à saisir stp ?

    Merci par avance (:

  4. #4
    Modérateur

    Bonjour,

    SQLPro a donné la commande dans son message !

    par ailleurs, étant donnée la nature du calcul, il ne semble pas forcément utile de la rendre persistante.
    Enfin, si l'on en juge par le nom des colonnes, le modèle est incorrect, il faudrait une ligne (et non pas une colonne) par note...