Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Diferencia Entre Campo Vacío Y Null

Diferencia Entre Campo Vacío Y Null
Artículo
Responder citando    Descargar mensaje  
Mensaje 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?



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Jueves, 15 Septiembre 2016, 23:09 ]
 


Diferencia Entre Campo Vacío Y Null
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Diferencia Entre Campo Vacío Y Null 
 
Pues supongo que  "is null".  



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Viernes, 16 Septiembre 2016, 08:24 ]
Responder citando    Descargar mensaje  
Mensaje 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



 
última edición por shordi el Viernes, 16 Septiembre 2016, 08:58; editado 1 vez 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Viernes, 16 Septiembre 2016, 08:58 ]
Responder citando    Descargar mensaje  
Mensaje 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



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Viernes, 16 Septiembre 2016, 10:43 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Viernes, 16 Septiembre 2016, 11:27 ]
Responder citando    Descargar mensaje  
Mensaje 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 "".
Print IsNull("")
 

Da verdadero.

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

O en caso contrario.
<>''
 


Parece un error frecuente.

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Viernes, 16 Septiembre 2016, 13:17 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron