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

Error de conversión cadena a datetime.

Estas en el tema de Error de conversión cadena a datetime. en el foro de SQL Server en Foros del Web. como estan tengo una tabla con un capo fecha que realmente es tipo char y las fechas estan guardadas cdel siguiente estilo. 20040321:14:12:32 Necesito generar ...
  #1 (permalink)  
Antiguo 05/03/2009, 13:35
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Error de conversión cadena a datetime.

como estan

tengo una tabla con un capo fecha que realmente es tipo char y las fechas estan guardadas cdel siguiente estilo.

20040321:14:12:32


Necesito generar un update que me deje la fecha de la siguiente manera

2004-03-21:14:12:32


intente con el siguiente query pero me sale error al tratar de convertir char a datetime

update Estilos set FECHA=convert (datetime,FECHA)
where TipContenido=12


Estoy usando SQL 2005
  #2 (permalink)  
Antiguo 05/03/2009, 14:00
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 20 años, 2 meses
Puntos: 6
Respuesta: Error de conversión cadena a datetime.

Los ":" entre 21 y 14 estan demas.

declare @fecha char(19)
set @fecha = '2004-03-21:14:12:32'

select convert(datetime,substring(@fecha,1,10) + ' ' + substring(@fecha,12,8))

saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #3 (permalink)  
Antiguo 05/03/2009, 14:31
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Respuesta: Error de conversión cadena a datetime.

trate correr ese coidgo que me dio y me da este error

La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.


que peude estar pasando, Gracias.
  #4 (permalink)  
Antiguo 05/03/2009, 17:36
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 20 años, 2 meses
Puntos: 6
Respuesta: Error de conversión cadena a datetime.

Identifica si todos los valores de ese campo para todos los registros no son nulos, y para que compruebes en que campo se cae puedes ir haciendo lo siguiente:

select TOP XXX convert(datetime,substring(@fecha,1,10) + ' ' + substring(@fecha,12,8))
from [tu tabla]

Vas cambiando el top hasta q encuentres que registro te da el error.
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #5 (permalink)  
Antiguo 06/03/2009, 13:20
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Respuesta: Error de conversión cadena a datetime.

sip efectivamente habia un registro donde este campo tenia un valor erroneo por eso me generaba ese error


Gracias
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 13:59.