Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2010, 13:37
luchitox_desk
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 17 años, 5 meses
Puntos: 0
Exclamación Convertir campo a datetime

Hola...!!! tengo en una tabla un campo llamado fenac que es la fecha de nacimiento de los usuarios. Necesito convertir este campo de tipo numerico a datetime. Las fechas estan escritas del modo AAAA/MM/DD, ej: 19851231
Quiero realizar la conversion de aquellas registros en los que el año este entre 1911 y 2010. Utilizo estos dos scripts que coloco a continuacion pero aparece un mensaje en mi management studio que dice: Conversion failed when converting datetime from character string.... me podrian ayudar a resolverlo, por favor?. gracias

Opcion 1:
Código:
SELECT CONVERT(DATETIME, CONVERT (char(8), fenaci)) FROM dbo.Pacientes
WHERE SUBSTRING (CONVERT(CHAR(8), fenaci),1,4) <= 2010 AND SUBSTRING (CONVERT(CHAR(8), fenaci),1,4) >= 1911 AND SUBSTRING (CONVERT (CHAR(8), fenaci),5,2) <= 12 AND SUBSTRING (CONVERT (CHAR(8), fenaci),7,2) <= 31
Opcion 2:
Código:
SELECT CONVERT(DATETIME, SUBSTRING (CONVERT(CHAR(8), fenaci),1,4)+SUBSTRING (CONVERT(CHAR(8), fenaci),5,2)+SUBSTRING (CONVERT(CHAR(8), fenaci),7,2)) FROM pacientes
WHERE SUBSTRING (CONVERT(CHAR(8), fenaci),1,4) <= 2010 AND SUBSTRING (CONVERT(CHAR(8), fenaci),1,4) >= 1911 AND SUBSTRING (CONVERT (CHAR(8), fenaci),5,2) <= 12 AND SUBSTRING (CONVERT (CHAR(8), fenaci),7,2) <= 31
Version de SQL: SQL Server 2005