[MySQL] Access heeft datum als varchar geexporteerd

Pagina: 1
Acties:

  • Gehakt
  • Registratie: Juli 2002
  • Laatst online: 20:03
Ik kon niet echt een duidelijke topictitel voor dit probleem verzinnen.

Ik heb thuis vanuit access een database geexporteerd naar mysql. Van deze database heb ik met mysql administrator een backup gemaakt en weer ingeladen op mijn stage. (ik kan op mijn stage niet vanuit access exporteren naar mysql)

Nu loop ik hier tegen een probleem aan. In de database waren 2 kolommen met een bepaalde datum+tijd. Nu is blijkbaar 1 van de kolommen netjes omgezet in datetime formaat en de andere in varchar formaat.

oftewel:
kolom1(datetime) = 2006-10-23 15:36
kolom2(varchar255) = 23-10-2006 15:36

Wat ik wil doen is allebij de kollommen opsplitsen zodat ik dit krijg
kolom1_datum = 2006-10-23
kolom1_tijd = 15:36

kolom2_datum = 2006-10-23
kolom2_tijd = 15:36

Nu is dat voor kolom 1 zonder al te veel moeite gelukt met de volgende querys:
code:
1
2
UPDATE voorbeeldDB.voorbeeld SET Kolom1_datum= DATE_FORMAT(`tijdstipkomen`, '%Y-%m-%d');
UPDATE voorbeeldDB.voorbeeld SET Kolom1_tijd = DATE_FORMAT(`tijdstipkomen`, '%H:%i:%S');
Dit gaat dus niet werken voor kolom 2 aangezien deze in varchar formaat is. Ik kan de kolom ook niet in datetime veranderen omdat dan de syntax niet klopt.

Hoe kan ik dit het beste aanpakken of is het makkelijkste om te wachten tot ik thuis ben en opnieuw te importeren?

  • lier
  • Registratie: Januari 2004
  • Laatst online: 22:14

lier

MikroTik nerd

Je kan proberen om van het de waarde uit het varchar veld te converter naar een datetime waarde. Daarna kan je eenvoudig opsplitsen.

Daarnaast kan je natuurlijk ook met wat vogelen met stringetjes de varchar waarde opdelen in twee delen (zit een spatie tussen, deze kan je vast wel vinden...).

Vraagje, waarom zou je dat willen opsplitsen ?

Eerst het probleem, dan de oplossing


  • Viper®
  • Registratie: Februari 2001
  • Niet online
je kan met CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) werken

  • Gehakt
  • Registratie: Juli 2002
  • Laatst online: 20:03
Kan je een voorbeeldje geven hoe ik dat ga converteren dan?
Mysql admin heeft hier geen trek in omdat de syntax van de data niet klopt.
Het is misschien wel te doen met een hoop querys maar dat is juist hetgeen wat ik vraag of mee op weg geholpen wil worden.

Ik wil dit opsplitsen omdat ik een applicatie aan het uitbreiden ben. Ik voeg een 2e database toe met net iets andere gegevens.

De eerste is op deze manier gebouwd. Het is ook niet mijn keuze maar het is nou eenmaal zo. Ik wil het eerst op deze manier werkend hebben voor ik begin met andere delen te herschrijven zodat ik enkele velden met datetimes kan gebruiken.

Het gaat namelijk om een programma dat xml bestanden inleest en in een database plaatst.
En de website leest deze gegegevens uit.

Helaas heb ik nog geen begin kunnen maken met het programma dat de gegevens in de database plaatst omdat ik op dit moment simpelweg dat project nog niet kan openen. En dit alles door de ict die niet echt haast heeft met het inrichten van een goede ontwikkelomgeving.

*edit

Ik ga even kijken wat ik precies met de optie van Viper kan.

[ Voor 3% gewijzigd door Gehakt op 27-10-2006 12:19 ]


  • Viper®
  • Registratie: Februari 2001
  • Niet online
convert(varchar(15), getdate(), 25)
of
convert(varchar,Column,101

info: http://sqljunkies.com/Art...2D-9578-9A1C7FD826E5.scuk


offtopic:
zie net dat dit mssql is en jij mysql gebruikt. Niet alles werkt dan waarschijlijk

[ Voor 58% gewijzigd door Viper® op 27-10-2006 12:28 ]


  • Gehakt
  • Registratie: Juli 2002
  • Laatst online: 20:03
Ik ben op dit moment zover dat ik 2 kolommen heb.
tmp1 met de datum in varchar formaat -> 22-10-2006
tmp2 met de tijd in time formaat

Ik moet dus nog alleen de datum omdraaien in 2006-10-22 en ik ben er.
Ik heb dit tot nu toe overigens bereikt met de SUBSTRING() functie van mysql.

*edit*
Ik heb het af. de string "2006-10-22" heb ik gewoon in 3 stukken gehakt en vervoglens weer aan elkaar geplakt met CONCAT_WS(separator, str1, str2,...).

Ongelofelijk omslachtig allemaal maar ik ben er wel. :P

[ Voor 27% gewijzigd door Gehakt op 27-10-2006 14:13 ]

Pagina: 1