Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Asignar null a un campo Datetime

Estas en el tema de Asignar null a un campo Datetime en el foro de Bases de Datos General en Foros del Web. Hola a todos!!!!!! Tengo un problemilla ... Necesito poner un campo datetime de una tabla (SQLServer) a NULL. El problema es que cuando hago esto ...
  #1 (permalink)  
Antiguo 25/02/2005, 03:55
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 1
Pregunta Asignar null a un campo Datetime

Hola a todos!!!!!!

Tengo un problemilla ... Necesito poner un campo datetime de una tabla (SQLServer) a NULL. El problema es que cuando hago esto lo que en realidad se me almacena es el valor '01/01/1900', y no sé cómo hacer para que simplemente sea NULL. Si lo hago directamente sobre la tabla lo hace bien, pero cuando lo hago desde una página PHP no .

¿¿¿¿Anguien tiene alguna idea???? Gracias de antemano.

Saludos
__________________
sometimes, I feel I should go and play with the thunder
  #2 (permalink)  
Antiguo 25/02/2005, 04:44
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
¿Cómo guardas el null desde php?¿Cómo ejecutas la consulta de inserción / actualización de ese campo?
  #3 (permalink)  
Antiguo 25/02/2005, 04:51
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 1
A la desesperada ya he intentado todo esto:

UPDATE _TB_INCIDENCIAS SET INCFechaNot = "" WHERE ...
UPDATE _TB_INCIDENCIAS SET INCFechaNot = NULL WHERE ...
UPDATE _TB_INCIDENCIAS SET INCFechaNot = "NULL" WHERE ...
UPDATE _TB_INCIDENCIAS SET INCFechaNot = <NULL> WHERE ...
UPDATE _TB_INCIDENCIAS SET INCFechaNot = "<NULL>" WHERE ...

Ya no sé que más probar
__________________
sometimes, I feel I should go and play with the thunder
  #4 (permalink)  
Antiguo 25/02/2005, 05:05
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 1
Ya lo solucioné...

Gracias...
__________________
sometimes, I feel I should go and play with the thunder
  #5 (permalink)  
Antiguo 05/03/2005, 14:16
 
Fecha de Ingreso: abril-2002
Mensajes: 27
Antigüedad: 22 años
Puntos: 0
¿¿¿¿Como????

Yo tengo el mismo problema, por favor dime como lo has hecho.

Yo estoy intentando hacerlo de Visual Basic, pero tal vez pueda adaptar tu solucion.

Muchas Gracias
__________________
El Cuervo
  #6 (permalink)  
Antiguo 07/03/2005, 02:48
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 1
Hola!!!

En mi caso todas las interacciones con la BD son mediante funciones de una clase. Entonces, lo que tengo que hacer es comprobar si el parámetro de la fecha llega con valor o vacío, y hago dos sentencias sql distintas dependiendo de esto. Si trae valor, asigno al campo fecha de la tabla de BD directamente el valor que llega como parámetro. En caso de que llegue vacío le asigno directamente el valor null. Es decir:

Código PHP:
function cambiarCampor($campo1$campo2$campo3$campo4){
  
// $campo1 y $campo2 son string, $campo3 la fecha y $campo4 un entero.
  
$cnConexion getConexion();
  
// Si la fecha trae valor se la asignamos al campo de la tabla.
  
if($campo3!=''){
    
$resultado mssql_query("UPDATE $this->tabla SET col1 ='$campo1', 
       col2='$campo2', col3='$campo3' WHERE col4 = "
.$campo4,$cnConexion);
  }
  
//Si no trae valor le damos el valor NULL.
  
else{
    
$resultado mssql_query("UPDATE $this->tabla SET col1 ='$campo1', 
       col2='$campo2', col3=NULL WHERE col4 = "
.$campo4$cnConexion);
  }

Lo único que tienes que tener en cuenta aparte de esto, es que en la tabla de la BD le tengas dado al campo de la fecha la posibilidad de que admita valores NULL.

No sé si en Visual Basic esto será igual , pero espero que te sirva. De todas formas, si esto no te va, pregunta en el foro de Visual Basic.



Cita:
Iniciado por El Cuervo
Yo tengo el mismo problema, por favor dime como lo has hecho.

Yo estoy intentando hacerlo de Visual Basic, pero tal vez pueda adaptar tu solucion.

Muchas Gracias
__________________
sometimes, I feel I should go and play with the thunder

Última edición por bilbo_e; 07/03/2005 a las 02:51
  #7 (permalink)  
Antiguo 08/03/2011, 21:12
 
Fecha de Ingreso: enero-2011
Mensajes: 13
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Asignar null a un campo Datetime

Pero ya cuando tienes el valor null como haces una consulta para verlo??

Esq quiero buscar los campos smalldatetime de una tabla en SQL SERVER 2000 que estén como null, pero cuando hago la.consulta no me regresa ningún registro

Como hago la.consulta es SELECT * FROM registros WHERE fechaSalida = 'NULL'
TAMBIÉN Lo eh intentado sin las comillas simples y me sigue saltando error
  #8 (permalink)  
Antiguo 08/03/2011, 21:13
 
Fecha de Ingreso: enero-2011
Mensajes: 13
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Asignar null a un campo Datetime

Pero ya cuando tienes el valor null como haces una consulta para verlo??

Esq quiero buscar los campos smalldatetime de una tabla en SQL SERVER 2000 que estén como null, pero cuando hago la.consulta no me regresa ningún registro

Como hago la.consulta es SELECT * FROM registros WHERE fechaSalida = 'NULL'
TAMBIÉN Lo eh intentado sin las comillas simples y me sigue saltando error
  #9 (permalink)  
Antiguo 09/03/2011, 02:56
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
Respuesta: Asignar null a un campo Datetime

Prueba con algo así

Código:
SELECT * FROM registros WHERE fechaSalida IS  NULL
Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:40.