Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Poner 0 cuando el resultado en null (https://www.clubdelphi.com/foros/showthread.php?t=1623)

guillotmarc 29-07-2003 18:54:01

Hola.

Firebird 1.5 soporta la sintaxis de Oracle y SQL Server : ISNULL, COALESCE, NVL, ...

Para Firebird 1.0 yo utilizo una udf estándar en lugar de crear mi propia librería. En concreto utilizo la fbudf que viene con el propio firebird. Tiene funciones para distintos tipos, por ejemplo la INVL es para enteros :

Código:

DECLARE EXTERNAL FUNCTION INVL
    INTEGER BY DESCRIPTOR,
    INTEGER BY DESCRIPTOR
RETURNS INTEGER
ENTRY_POINT 'idNvl' MODULE_NAME 'fbudf'

Saludos.

victork_py 18-08-2003 21:39:00

Hola guillotmarc, después de mucho tiempo, pensé usar la función INVL que comentas y lo declaré en la base de datos con la misma sentencia que publicaste.
Cuando ejecuto el DECLARE EXTERNAL FUNCTION, no me salta ningún error, pero cuando trato de usar la función INVL en mi sentencia SELECT, me salta el siguiente error:

Invalid data type, length, or value

aún cuando el campo que le paso es de tipo INTEGER.

Por que podrí ser eso?

IVAND 09-09-2003 02:58:47

Hola a todos

Le comento que existen unas Udf que implantan varias funciones importantes entre ellas la de convertir Null a 0

Y la funcion se llama Z

Estas udf se las puede bajar desde

?? O por el momento no me recuerdo pero si usan un buscador con las palabras rFunc de seguro las encuentran

Y si no me escriben de seguro ya he de tener la direccion


:D

juanfergl 19-04-2014 04:36:05

resp desde Form
 
hola, si dentro del form estas recibiendo los datos a un RxmemoryData, o algun otro ClientDataset, este al llenar los datos hara la conversion de manera automatica para los campos numericos, y asi no tentras que preocuparte por ello.Es decir si el campo es numerico en la BD dentro del maitable lo dejara como 0.

Casimiro Notevi 19-04-2014 09:53:26

11 años después.


La franja horaria es GMT +2. Ahora son las 21:15:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi