Operación aritmética con función en PL/SQL

Equipo de desarrollo, espero se encuentren bien deseo pedirles el favor de que si me pueden colaborar con lo siguiente en PL SQL, Tengo lo siguiente.

NVL((SELECT CDESOL.VALOR_PRESTAR FROM CDC_SOLICITUD CDESOL WHERE CDESOL.IDSOLICITUD = A.IDSOLICITUD AND ROWNUM < 2), A.VALOR) * NVL(CONTEO_GIRO)

En donde NVL(CONTEO_GIRO) es una función dentro del mismo oracle,

El problema que tengo es que al realizar la multiplicación me muestra el siguiente error Numero de argumentos no válido,

¿A qué se deberá?.

1 Respuesta

Respuesta

Nvl es una función que necesariamente admite dos parámetros. Uno es el valor de entrada ( una columna de una tabla, una expresión) y el otro el valor si la expresión anterior es necesario la. Por ejemplo:

Nvl(conteo_giro, 0) indica que si conteo_giro es nulo, el valor de salida es 0, en caso contrario el calor de salida es conteo_giro

Hola, muchas gracias por tu interés, pero implemento la función que me dices a lo que necesito, es decir.

nvl((select cdesol.valor_prestar from cdc_solicitud cdesol where cdesol.idsolicitud = a.idsolicitud  and rownum< 2)a.valor)*nvl(contargiros, 0)

Y me muestra error en NVL(CONTARGIROS, 0), me dice " Numero o tipos de argumentos erróneos al llamar a CONTRGIROS", no se a que se deberá.

Contagios parece ser una función. Si usas SQL developer puedes mirar sus argumentos en la lista de funciones del usuario

Muchas gracias Rafael la solución que me dijo mi jefe es la siguiente nvl((select cdesol.valor_prestar from cdc_solicitudcdesol where cdesol.idsolicitud = a.idsolicitud and rownum < 2), a.valor)* nvl(conteo_giro(a.idsolicitud),1), si deseas despues te explico por youtube

Un Abrazo!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas