Ik moet een interbase database omzetten naar een MySQL database. Het probleem echter is dat alle datums in de interbase de nederlandse notering hebben (dd/mm/jjjj). Hoe krijg ik deze datums makkelijk in een MySQL database? Dus zonder mbv php alle datums om te zetten naar engelse (jjjj-mm-dd)??
Daar zul je stringfuncties voor nodig hebben vrees ik... Sterkte
Localhost, sweet localhost
Damn, dat verwachte ik eigenlijk al een beetje omdat ik niets kon vinden. Wordt een leuk karweitje dan
Ik kwam zelf ook met dat probleem... ik heb toen deze functie geschreven om makkelijk te kunnen converteren van 'sql'-data naar nl-data. Werkt twee kanten op, aangezien mm steeds in het midden blijft 
...sorry dat ik je het leuke puzzelwerk nou ontneem
---
Whoops sorry, startpost niet helemaal goed gelezen
PHP:
1
2
3
4
5
| function convert($date){ $array = split('-', $date); $date = $array[2]."-".$array[1]."-".$array[0]; return $date; } |
...sorry dat ik je het leuke puzzelwerk nou ontneem
---
Whoops sorry, startpost niet helemaal goed gelezen
[ Voor 28% gewijzigd door Kaastosti op 01-03-2003 11:30 ]
Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.
Je bent vergeten de startpost te lezen... Het moest buiten PHP om...Kaastosti schreef op 01 March 2003 @ 11:25:
Ik kwam zelf ook met dat probleem... ik heb toen deze functie geschreven om makkelijk te kunnen converteren van 'sql'-data naar nl-data. Werkt twee kanten op, aangezien mm steeds in het midden blijft
...sorry dat ik je het leuke puzzelwerk nou ontneem
Is het trouwens niet een optie om via unixtimestamps te werken?
[ Voor 16% gewijzigd door kvdveer op 01-03-2003 11:29 . Reden: quote ingekort ]
Localhost, sweet localhost
MySQL snapt geen locale-support enzo, dus nee dat kan niet.
Versie 4 kan het geloof ik wel, of 4.1 ofzo.
Kan je de interbase database het niet geschikt laten exporteren?
Bijvoorbeeld door eerst de datum/taal instellingen van interbase/je OS aan te passen?
Versie 4 kan het geloof ik wel, of 4.1 ofzo.
Kan je de interbase database het niet geschikt laten exporteren?
Bijvoorbeeld door eerst de datum/taal instellingen van interbase/je OS aan te passen?
ik dacht dat mysql daar ook een functie voor had, er staat dacht ik iets over bij de comment dan de PHP date() functie http://www.php.net/manual/en/function.date.php
geen
Weet ik dus niet, ik wij krijgen een sql file aangeleverd met daarin de data die dan overgepompt moet worden. Kan het wel eens na gaan vragen, maar denk dat dat weinig oplevert.
kvdveer ik wil eigenlijk graag met timestamps werken, maar hoe krijg ik een datum in een sql file omzetten?? Dat moet dan toch ook met php
kvdveer ik wil eigenlijk graag met timestamps werken, maar hoe krijg ik een datum in een sql file omzetten?? Dat moet dan toch ook met php
Exporteer de Interbase naar een formaat wat eenvoudig te editten is (bijvoorbeeld Excell of een ander pakket) verander daar de datum notatie en dan vervolgens importeren in MySQL.
MAAR.... als we het hier over duizenden entries hebben..... trekt excell waarschijnlijk niet (MS kennende)
MAAR.... als we het hier over duizenden entries hebben..... trekt excell waarschijnlijk niet (MS kennende)
[ Voor 24% gewijzigd door BlaTieBla op 01-03-2003 11:37 ]
leica - zeiss - fuji - apple | PSN = Sh4m1n0
Als je sql-file niet te groot is kan je het met een regexp-ondersteunende editor openen.
En dan is het een kwestie van s/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/\3-\2-\1/g
En dan is het een kwestie van s/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/\3-\2-\1/g
sql-file is ruim 16 MB groot, aantal records is meer dan 92.000. Vandaar dat ik het ook liever niet met php doe, maar gewoon met mysql.BlaTieBla schreef op 01 March 2003 @ 11:36:
Exporteer de Interbase naar een formaat wat eenvoudig te editten is (bijvoorbeeld Excell of een ander pakket) verander daar de datum notatie en dan vervolgens importeren in MySQL.
MAAR.... als we het hier over duizenden entries hebben..... trekt excell waarschijnlijk niet (MS kennende)
Verwijderd schreef op 01 maart 2003 @ 11:39:
sql-file is ruim 16 MB groot, aantal records is meer dan 92.000. Vandaar dat ik het ook liever niet met php doe, maar gewoon met mysql.
Te groot voor excell misschien, maar niet onwerkbaar groot voor een editor als vi
En je kan het ook vast wel met een update-statement in mysql oplossen, iets met substrings knoeien:
update tabeletje set date_field = concat(substring(jaar), '-', ....);
Moet je wel even een lege date kolom toevoegen en later de foute weghalen.
[ Voor 8% gewijzigd door ACM op 01-03-2003 11:42 ]
Een editor is btw ook geen optie, want alles moet elke nacht automatisch gebeuren. Denk dat ik het dan toch maar via php ga doen, alleen maak ik dan wel gelijk een timestamp van die datums. Werkt veel makkelijker vind ik.ACM schreef op 01 maart 2003 @ 11:42:
[...]
Te groot voor excell misschien, maar niet onwerkbaar groot voor een editor als vi
En je kan het ook vast wel met een update-statement in mysql oplossen, iets met substrings knoeien:
update tabeletje set date_field = concat(substring(jaar), '-', ....);
Moet je wel even een lege date kolom toevoegen en later de foute weghalen.
Verwijderd schreef op 01 maart 2003 @ 11:44:
Een editor is btw ook geen optie, want alles moet elke nacht automatisch gebeuren. Denk dat ik het dan toch maar via php ga doen, alleen maak ik dan wel gelijk een timestamp van die datums. Werkt veel makkelijker vind ik.
Die update statement ook bekeken?
Dan kan je het in mysql doen, evt zelfs direct een timestamp van maken door er nog unix_timestamp() omheen te plakken.
Jeps, heb ik bekeken, ik denk dat ik die waarschijnlijk wel ga toepassen, maar dat is ook mbv php dan heACM schreef op 01 March 2003 @ 11:50:
[...]
Die update statement ook bekeken?
Dan kan je het in mysql doen, evt zelfs direct een timestamp van maken door er nog unix_timestamp() omheen te plakken.
Verwijderd schreef op 01 maart 2003 @ 11:51:
Jeps, heb ik bekeken, ik denk dat ik die waarschijnlijk wel ga toepassen, maar dat is ook mbv php dan he
Hoezo
Je kan die toch als los statement in een sql-file plaatsen en dan met de mysql-cmd-line uit laten voeren? Komt geen php aan te pas hoor.
uuuuhm.......... wist ik wel, had ik alleen niet aan gedachtACM schreef op 01 maart 2003 @ 11:55:
[...]
Hoezo
Je kan die toch als los statement in een sql-file plaatsen en dan met de mysql-cmd-line uit laten voeren? Komt geen php aan te pas hoor.
Verwijderd
Heeft Interbase niet een functie zoals MySQL `DATE_FORMAT' heeft? Op die manier kan je misschien alles op de juiste manier naar een file exporten, en weer importen in MySQL ?
Verwijderd
Je hebt toevalig geen ervaring met delphi/cbuilder?
want dan kun je gewoon een progje schrijven dat die interbase database inleest en met een mysql component wegschrijft naar mysql.
een goed component voor zowel cbuilder als delphi is: http://www.microolap.com/products/dac/mysqldac.htm
en dan kan je met behulp van DateFormat string functie kun je de datum naar die van mysql omzetten
suc6
want dan kun je gewoon een progje schrijven dat die interbase database inleest en met een mysql component wegschrijft naar mysql.
een goed component voor zowel cbuilder als delphi is: http://www.microolap.com/products/dac/mysqldac.htm
en dan kan je met behulp van DateFormat string functie kun je de datum naar die van mysql omzetten
suc6
[ Voor 16% gewijzigd door Verwijderd op 01-03-2003 16:29 ]
Pagina: 1