Array
(
)

Converter varchar para datetime

Rogerio.carrasqueira
   - 29 abr 2006

Pessoal,

Peguei um banco de dados pra dar um jeito e esse banco está cheio de problemas em relacao ao campo data de nascimento. Acontece que a data nesse campo está aparecendo de vários formatos, como segue abaixo:

dd/mm/aaaa
d/m/aa
aaaa-mm-dd
aa-mm-dd
mmmm dddd aaaa hh:mM:000
d/m/aaa ( o cara coloca 987 ao inves de 1987)

Tentei fazer esse comando: select top 228 a.codUsuario, Nascimento, day(Nascimento) as Dia, month(Nascimento) as Mes, year(Nascimento) as ano from usuarios a order by codUsuario DESC

E deu o seguinte erro: Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

Sendo assim, será que alguém já passou por uma dificuldade dessa e conseguiu resolver?

Se alguém puder dar uma luz, agradeceria muito.

Um grande abraço

--
Rogério Carrasqueira

It3r
   - 29 abr 2006

Olá rogerio Carrasqueira...

Seguinte. para converter o campo do tipo datetime... vc poderá fazer isso:

convert(char, TEU_CAMPO_DATA, 108)

No caso ficaria assim...

select top 228
a.codUsuario,
convert(char, Nascimento, 108)
from usuarios a order by codUsuario DESC

Espero ter ajudado...

Abraço, Iter Vinicius