Buenas tardes dos_olivos:
El error es bastante claro y se refiere a que la cadena que estás tratando de convertir no tiene un formato válido para su conversión. En tu post no mencionas qué formato de fecha tiene tu cadena, pero como estás tratando de convertirlo utilizando el estilo 126 puedo suponer que tienes un formato más o menos así yyyymmddhhmiss. Como te comenté en otro post el formato estándar que utiliza sql Server es el ANSI (yyyymmdd hh:mi:ss) por lo tanto la idea sería convertir tu cadena original a una que contenga este formato, sería más o menos así:
Código SQL:
Ver originalDECLARE @fecha VARCHAR(29)
SET @fecha = '20110103232219'
SELECT CONVERT(datetime, SUBSTRING(@fecha, 1,8)+' '+
SUBSTRING(@fecha, 9,2)+':'+SUBSTRING(@fecha, 11,2)+':' + SUBSTRING(@fecha, 13,2)) AS fecha
el resultado de esta consulta sería
Código:
fecha
------------
2011-01-03 23:22:19.000
Saludos y espero que te sirva el código
Leo.