Diferencia Entre Campo Vacío Y Null


Subject: Diferencia Entre Campo Vacío Y Null
buenas,

así como para no admitir campos nulos se usa "not null"
para un campo vacío como seria?

Subject: Re: Diferencia Entre Campo Vacío Y Null
Pues supongo que "is null".

Subject: Re: Diferencia Entre Campo Vacío Y Null
Cuando declaras que un campo como not null, ya has establecido que no se pueda grabar un registro sin suministrarle valores a tal campo.
Hay motores de datos, como Mysql, que te permiten además, asignar un valor por defecto del campo. Es decir, puedes declarar un campo boolean como 'not null default true' o un campo string como "not null default 'No consta'" y en creación se le asignará tal valor si no se suministra otro.
Nunca lo he probado con SQLite.

La BD genera un error si intentas grabar un registro con campos Not Null sin suministrarle valores, pero el que no se pueda grabar un valor vacío lo tienes que controlar tú en tu código de gambas. La BD no lo puede hacer por tí.

Saludos

Last edited by shordi on Friday, 16 September 2016, 08:58; edited 1 time in total
Profile PM  
Subject: Re: Diferencia Entre Campo Vacío Y Null
Shordi:

Puede que le interese dejar el campo en blanco. Para comprobar luego si se ha rellenado o no.
Por ejemplo para comprobar si se cumple una condición.

Imagina que tengo una base de datos de reparación de vehículos que tienen que pasar una revisión.
En ese campo se pone una fecha de la revisión, si no existe ningún valor es nulo, por lo tanto aun
no se ha reparado el vehículo.

Saludos

Subject: Re: Diferencia Entre Campo Vacío Y Null
Citar:
En ese campo se pone una fecha de la revisión, si no existe ningún valor es nulo, por lo tanto aun
no se ha reparado el vehículo.


Ok, eso te lo depura la BD generando un error, como digo arriba, siempre, claro, que hayas establecido el campo como NOT NULL.

Pero el problema que plantea V3ctor es distinto, se refiere a campos vacíos, que no es lo mismo que campos nulos.
Un campo nulo es un campo sin valor. Un campo vacío es un campo con valor, pero que no tiene contenido.

No es lo mismo Nombre=NULL (si es que eso es posible), que Nombre="".

En el primero no hay valor, en el segundo hay una cadena vacía.

Esta distinción puede ser banal o puede ser definitoria, según la definición de la tabla y el motor de base de datos que usemos pero la depuración de los campos vacíos (que no nulos) hay que hacerla en gambas, la BD no puede hacer eso.

No sé si me explico.

Profile PM  
Subject: Re: Diferencia Entre Campo Vacío Y Null
Shordi:

Citar:

No sé si me explico.


Si, supuse que era bien distinto.
En cambio en gambas NULL puede hacer referencia a una cadena de longitud cero. Lo mismo que "".

Da verdadero.

Supongo que para saber si el campo no tiene valor, funcionara...
=''

O en caso contrario.
<>''


Parece un error frecuente.

Saludos


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1181s (PHP: -39% SQL: 139%)
SQL queries: 24 - Debug Off - GZIP Enabled