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

Convertir campo a datetime

Estas en el tema de Convertir campo a datetime en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/03/2010, 13:37
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 17 años, 6 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
  #2 (permalink)  
Antiguo 04/03/2010, 16:19
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: Convertir campo a datetime

Saca todos aquellos string que NO cumplan con el formato, ¿como?

SELECT ISDATE(STRING)

Si te da un CERO, no es formato adecuado
  #3 (permalink)  
Antiguo 05/03/2010, 11:25
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Convertir campo a datetime

Gracias!
  #4 (permalink)  
Antiguo 05/03/2010, 12:11
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: Convertir campo a datetime

De nada, es un placer

Etiquetas: conversion, datetime, numeric, sql, string
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 01:30.