[SQL]CONVERT geeft bij INSERT INTO error

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10
Hallo,

Onderstaande SQL geeft een foutmelding:
SQL:
1
2
3
4
5
6
7
insert into tblPersoneel(PersoneelsId,Voornaam,Achternaam,Tussenvoegsel,AfdelingId,GeboorteDatum,Foto,MailSent)
select EmployeeId,Vnaam,Anaam,Tussnv,
    (select AfdelingsId from tblAfdelingen where AfdelingsDescription=afd)as AfdelingId,
    convert(datetime,geboortedatum,105) as GeboorteDatum,
    pImg,
    mailSend 
from Results

code:
1
2
3
Server: Msg 8115, Level 16, State 2, Line 1
Arithmetic overflow error converting expression to data type datetime.
The statement has been terminated.

Gebruik ik echter:
SQL:
1
select convert(datetime,geboortedatum,105) as GeboorteDatum from results

krijg ik een prachtig resultaat.

Ik heb nog zitten 'spelen' met verschillende formats (20, 101 en nog een paar) maar allen gaven dezelfde foutmelding.

De exacte foutmelding in Google gieten geeft geen interessante resultaten.

Beide datatypes van tblEmployee en die van Results zijn datetime. Ik snap er eventjes niks meer van. Wie wel?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Heb je hetzelfde resultaat als je eerst de insert into doet en daarna een update?
edit:
je hebt dan natuurlijk het verschil in formaat als probleem... Eerst inserten in een temporary table en daarna insert into select met alleen de convert?

[ Voor 50% gewijzigd door drm op 22-06-2007 16:56 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10
drm schreef op vrijdag 22 juni 2007 @ 16:54:
Heb je hetzelfde resultaat als je eerst de insert into doet en daarna een update?
edit:
je hebt dan natuurlijk het verschil in formaat als probleem... Eerst inserten in een temporary table en daarna insert into select met alleen de convert?
Misschien is dat inderdaad een optie, maar zoiets triviaals als dit mag toch niet fout gaan? Maandag even proberen door alles te inserten zonder het datum veld, hopelijk dat dat werkt.

offtopic:
huuh, sinds wanneer ben jij weer 'helemaal terug'? Lang geleden.

[ Voor 6% gewijzigd door TeeDee op 22-06-2007 18:05 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • SPee
  • Registratie: Oktober 2001
  • Nu online
Wat levert die convert commando voor waarde op als je hem los draait :?

let the past be the past.


Verwijderd

"Ik heb nog zitten 'spelen' met verschillende formats (20, 101 en nog een paar) maar allen gaven dezelfde foutmelding."

In welk formaat wordt de datum aangeleverd ? als je dat weet kun je toch pas bepalen welke style je moet instellen om te converten naar datetime type ?
msdn hint

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:10
Het datetime format wordt visueel als yyyy-mm-dd aangeleverd. CAST en CONVERT had ik al een poosje gevonden op msdn.

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1