Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   MySQL realmente sabe sumar o yo estoy mal... (https://www.clubdelphi.com/foros/showthread.php?t=77328)

RebeccaGL 15-01-2012 02:04:01

MySQL realmente sabe sumar o yo estoy mal...
 
Ejemplo.

Query_DATA.SQL.Add(' sum(ASPDAT.RemDiaTra) + sum(ASPDAT.AsiFam) as NetPag');

Si la variable (RemDiaTra tiene un valor y la variable AsiFan), devuelve un resultado.
Pero si la variable RemDiaTra tiene un valor, pero la variable AsiFam esta en null, SQL no me suma nada de nada.

porque??

RemDiaTra = 1000
ASiFam = 500

La suma de los dos seria 1500

ahora

RemDiaTra = 1000
AsiFam = null

Me deberia devolver 1000 pero no me devuelve nada. porque???

Casimiro Noteví 15-01-2012 03:03:19

No, cualquier valor con null... es null.
Aquí tienes un pequeño tutorial donde se explica, está pensado para firebird, pero es lo mismo.

olbeup 15-01-2012 20:43:05

Que pedazo de explicación sobre NULL, Impresionante, yo utilizo SQL SERVER, no he visto una explicación tan clara ni en los manuales de SQL SERVER, pedazo de manual.

Gracias casimiro Notevi

+1

Un saludo.

AzidRain 16-01-2012 01:40:29

El manual lo explica todo, para casos en donde algun campo pueda llegar a tener null, usa la funcion COALESCE(), la cual devuelve el primer valor No nulo de los parámetros que le pases, por lo que puede quedar así:

Código SQL [-]
 sum(ASPDAT.RemDiaTra) + sum( COALESCE(ASPDAT.AsiFam,0) ) as NetPag

De esa forma si en algun momento AsiFam se vuelve nulo, simplemente se utilizará cero que será lo que devuelva la función SUM


La franja horaria es GMT +2. Ahora son las 10:57:49.

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