Borrar null de las tablas.

1,721 views
Skip to first unread message

jaime paredes

unread,
Apr 3, 2012, 8:26:26 AM4/3/12
to publice...@googlegroups.com
Amigo, tengo un pequeño problema con unas tablas que no me deja calcular ya que tiene muchos NULL, como puedo remplazar los null por valores 0 (cero) ya que aparecen en los campos numericos.

Walter R. Ojeda Valiente

unread,
Apr 3, 2012, 8:35:27 AM4/3/12
to publice...@googlegroups.com
La función ISNULL() te devuelve .T. si el valor es nulo.

Así que podrías escribir algo como:

REPLACE ALL MiCampo WITH 0 FOR ISNULL(MiCampo)

Saludos.

Walter.




Date: Tue, 3 Apr 2012 07:26:26 -0500
Subject: [vfp] Borrar null de las tablas.
From: jisoftw...@gmail.com
To: publice...@googlegroups.com

Pablo Daniel Lissa

unread,
Apr 3, 2012, 8:35:32 AM4/3/12
to Comunidad de Visual Foxpro en Español
Hola:

Serviría que cuentes un poco más qué cálculo querés hacer. Una
posibilidad sería usar la función NVL, que devuelve el primer valor no
nulo (si hay) de un par de valores:
NVL(4, .NULL.) && Devuelve 4
NVL(.NULL., 0) && Devuelve 0
NVL(4, 5) && Devuelve 4
NVL(.NULL., .NULL.) && Devuelve .NULL.

En tu caso, habría que cambiar el nombre del campo por
NVL(nombreCampo, 0). Nuevamente, esto depende de en qué cálculo estás
usando el campo.

Saludos.

jaime paredes

unread,
Apr 3, 2012, 8:43:32 AM4/3/12
to publice...@googlegroups.com
Gracias Totales..

Carlos Miguel FARIAS

unread,
Apr 3, 2012, 10:03:43 AM4/3/12
to publice...@googlegroups.com
CUIDADO!
Si la tabla está definida con datos nulos, no es aconsejable en los
cálculos reemplazar esos datos por 0 (cero), en un total no habría
problemas.
En cálculos un nulo convertido a 0 en otras operaciones como un valor
a sumar o restar, no seria problema.
Pero si es una multiplicación la anula (la pone a cero) y si es un
valor para dividir, da error.
Si contas, valores 0, null no es cero (es algo desconocido), o sea, la
cuenta está mal.
Si estas sacando un promedio, el valor nulo no debe computarse (ni
sumando ni contando como item a promediar).
Habría que ver porque el valor es nulo, y decidir en función de eso,
no simplemente pasar a 0 (cero), el que diseño la tabla por alguna
razón previo un valor nulo para ese campo.
Saludos: Miguel, La Pampa (RA)

El 03/04/12, jaime paredes <jisoftw...@gmail.com> escribió:

ssanmiguelh

unread,
Apr 3, 2012, 10:39:44 AM4/3/12
to publice...@googlegroups.com
***VFP 9.0
NVL(.NULL.,0)
IIF(campo is null,0,campo)
ICASE(campo is null,0,campo)

***B.D.
NVL(.NULL.,0)
CASE WHEN campo is null THEN 0 ELSE campo END
COALESCE(campo,0)

Saludos.
Reply all
Reply to author
Forward
0 new messages