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

problemita con fechas

Estas en el tema de problemita con fechas en el foro de SQL Server en Foros del Web. La cuestión es la siguiente: Tengo esta tabla Tabla1 col1 col2 1 20051226 2 3 20051227 Cuando la paso a otra tabla mediante entre comando ...
  #1 (permalink)  
Antiguo 26/12/2005, 15:25
 
Fecha de Ingreso: diciembre-2005
Mensajes: 24
Antigüedad: 18 años, 4 meses
Puntos: 0
problemita con fechas

La cuestión es la siguiente:

Tengo esta tabla
Tabla1
col1 col2
1 20051226
2
3 20051227
Cuando la paso a otra tabla mediante entre comando

Insert Into tabla2 (col1,col2)
Select col1,col2 from tabla1

Este es el resultado

Tabla2
Col1 col2
1 2005-12-26 00:00:000
2 1900-01-01 00:00:000
3 2005-12-27 00:00:000

Y lo que yo necesito es algo asi:

Tabla2
Col1 col2
1 2005-12-26 00:00:000
2 NULL
3 2005-12-27 00:00:000

Es decir que en los campos de la tabla 1 que no tengan fecha (yyyyMMdd) cuando los pase a la otra tabla me los deje igual (sin fecha) y no les ponga 1900-01-01 00:00:000

muchas gracias a todos por la colaboracion
__________________
Miguel Arias
[email protected]
  #2 (permalink)  
Antiguo 26/12/2005, 16:18
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Prueba con algo como:
Insert Into tabla2 (col1,col2)
Select col1,
case col2 when '' then NULL else col2 end as col2
from tabla1
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 27/12/2005, 13:25
 
Fecha de Ingreso: diciembre-2005
Mensajes: 24
Antigüedad: 18 años, 4 meses
Puntos: 0
Mithrandir, tu como siempre tan oportuno, muchas gracias por tu colaboracion es perfecto muchas gracias, lo intente con if pero no me funciono pero como tu dices es perfecto


muchas gracias
__________________
Miguel Arias
[email protected]
  #4 (permalink)  
Antiguo 28/12/2005, 16:14
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
En TSQL (SQL Server), IF es para control de flujo (por ejemplo entre diferentes sentencias select), pero para condiciones dentro de una sentencia tienes que utilizar CASE (el equivalente a IIF en Access)

Que bueno que funcionó
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 00:00.