Hola Alberto,
Si la funcion TO_DATE() prescinde del formato que debes darle "dd-mm-yyyy", no problem ya que normalmente le doy formato "yyyy-mm-dd" y asi mefunciona. En mi caso TO_DATE('2014-12-25', 'yyyy-mm-dd')
por otra parte un DECODE() funciona como un IF..ELSE o un CASE WHEN
en cualquier caso es obvio que el DIVISOR es CERO.
Yo haria :
DECODE ( divisor , 0 , 0, dividendo / divisor) <----Quiere decir que si "divisor" es cero , devuelve cero, sino hace la division.
Sintaxis de DECODE(): (mejor con un ejemplo)
DECODE(DEPARTAMENTO, <-----Le expersion a evaluar.
1, 'LIMA',
2, 'PIURA',
3, 'TRUJILLO',
n, 'xxxx',
'DEPARTAMENTO DESCONOCIDO' <-------- ESTE ES EL "ELSE", es decir que si no es 1, 2, 3,...n, se le asignara esto. Creo que si se obvia este ultimo parámetro devuelve NULL
)
Suerte y espero te ayude esto.
Date: Wed, 24 Dec 2014 11:54:12 -0500
Subject: Error ORA-01476 divisor is equal to zero
From: betocuevas.net@gmail.com
To: powerbuilder-ica@googlegroups.com; techeraz9@googlegroups.com
Estimados mi problema no es PB es en Oracle trabajo con la versión 10 tengo una división en el query pero me lanza un error:
Error ORA-01476 divisor is equal to zero
Esta es la divsion:
(TO_DATE (substr('20141224',7,2) || '-' || substr('20141224',5,2) || '-' || substr('20141224',1,4)) - TO_DATE ('01-01-' || substr('20141224',1,4))) /
(last_day(TO_DATE (substr('20141224',7,2) || '-' || substr('20141224',5,2) || '-' || substr('20141224',1,4))) - TO_DATE ('01-01-' || substr('20141224',1,4))) factor_acum_mes,
Lei en la web que debo usar DECODE pero no se como aplicarlo, alguien que me pueda ayudar por favor.
Saludos.
--
---
Has recibido este mensaje porque estás suscrito al grupo "TechEra" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a
techeraz9+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita
https://groups.google.com/d/optout.
0 comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.