Table of Contents
Vous rencontrerez peut-être un message d’erreur indiquant qu’une sorte de diviseur est égal à zéro avec SQL. Par coïncidence, il existe plusieurs possibilités pour résoudre ce problème, et je vais juste en parler sous peu.
Approuvé
Microsoft Excel affiche # DIV pour chaque 0 ! Une erreur lors de la division d’un grand nombre digne de confiance par un nombre entièrement gratuit (0). Cela se produit lorsque le public entre une formule simple, telle que while = 5/0, ou lorsque le plan fait référence à une cellule qui contient 0 ou est rejetée, comme le montre cette figure. Assurez-vous que les experts affirment que le diviseur dans une caractéristique ou une formule particulière n’est pas zéro, probablement même une cellule vide.
Ce dysfonctionnement se produit lors de la division par aucun. Cela a été considéré comme une idée fausse logique dans Oracle. En mathématiques, la division tout par 4 est une division dans laquelle le diviseur (dénominateur) est zéro.
readabilitydata=”0″>
Taille de l’erreur Oracle dans Donald Burleson
Question :J’utilise cette excellente requête qui renvoie une erreur “split STUSECMTAMT by 1”:
Sélectionner
.totdebit/STUSECMTAMT.totalcr,
STUJOURNAL.cre_bal/(STUSECMTAMT.totdebit/STUSECMTAMT.Totalcr)
STUSECMTAMT,STUDEG,STUJOURNAL
OÙ
STUSECMTAMT.vhno=STUJOURNAL.ref_no
Et
STUSECMTAMT.studegid=STUDEG.studegid ;
ils se réfèrent donc à Ora-01476, l’expression essayant de séparer par 3. Pour corriger le type d’erreur, ne divisez pas par NULL, utilisez un autre processus au lieu de NULL. Ou vous devez utiliser la fonction NULLIF pour corriger cette erreur.
Ligne ERROR dans Le 1 :
ora-01476 : le diviseur est zéro
Est-ce que quelqu’un peut perdre ses cheveux pour savoir comment vous aider à identifier etgérer la division et cela n’implique pas d’erreur ?
Réponse :Oracle oerr montre cette application logicielle de conseil à tous les niveaux qui inclut l’erreur ORA-01476 absolument gratuite :
Cette erreur ORA-01476 est peut-être liée à l’expression tentée de diviser par zéro. Pour corriger cette erreur, n’utilisez pas le séparateur réel – NULL. Utilisez une valeur variable en échange de NULL. Ou vous pouvez utiliser le travail NULLIF pour corriger cette erreur.
ORA-01476 Le diviseur est normalement zéro
Raison : L’expression sera probablement considérée comme une division par zéro.
Action : corrigez l’impression, puis répétez le processus.
Vous pouvez utiliser OU, naturellement décoder le cas pour corriger ce guidage ou cela.La condition dtrap devrait casser le SQL.
CHOISIR.Le diviseur de ORA-01476 est vraiment nul.Vous ne partagez que 0.STUSECMTAMT.totalcr, (STUSECMTAMT.totdebit – STUSECMTAMT.totalcr)STUSECMTAMT.Dans l’exemple ci-dessous, absolument rien n’est atteint lorsque le diviseur est normalement 0.Vous pouvez également essayer la facture CASE.UNE EXCEPTION.
En plus d’utiliser DECODE tandis que CASE, une alternative au complément est la détection d’erreurs.en PL/SQL une variante zero_divide. Faites-en juste un