Avatar billede olsen205 Nybegynder
16. december 2008 - 15:16 Der er 1 løsning

Error handeling for Cast as Datetime

Jeg vil gerne konvaterer følgende til en dato:

'20042008' (felt txt01)

select cast(right(txt01, 4)+'-'+left(right(txt01, 6),2)+'-'+left(txt01,2) as datetime) 'Date'

Hvis jeg har en fejl angivelse i min data, eksempelvis
'38042008'

hvordan sørger jeg så for at min SQL sætning ikke fejler? (undlad poster med fejl)

Fejlkode:
"Arithmetic overflow error converting expression to data type datetime"
Avatar billede olsen205 Nybegynder
16. december 2008 - 15:26 #1
Har selv løst den:

select cast(right(txt01, 4)+'-'+left(right(txt01, 6),2)+'-'+left(txt01,2) as datetime) 'Date'
where isdate(right(txt01, 4)+'-'+left(right(txt01, 6),2)+'-'+left(txt01,2)) = 1
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester