string to date conversion

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

El Grimbo

El Grimbo

05/08/2009 12:08:00
Quote Anchor link
Hi

Welke functie in MySQL gebruik je om een de string
'1-3-2009 0:00:00' om te zetten naar het DATE format:
2009-03-01
?

alvast bedankt

grt I.
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 
PHP hulp

PHP hulp

22/11/2024 06:56:02
 

05/08/2009 12:15:00
 
Jan Koehoorn

Jan Koehoorn

05/08/2009 12:19:00
Quote Anchor link
De datumfuncties van MySQL zijn bedoeld om met een geldige datum te werken. De vraag is: hoe komt de TS aan die ongeldige datum in zijn database?
 
El Grimbo

El Grimbo

05/08/2009 12:27:00
Quote Anchor link
@Karl
inderdaad, de vraag is dus hoe een valide DATE van een sting te maken.

@Jan
via een ODBC export van een slecht opgezette db. Dit lijkt de enige manier om de data te sanatizen.

En ja ik weet bestl hoe dat met PHP te doen maar dat is over het algemeen langzamer dan MySQL toch?
Ter indicatie: het gaat om 8000 records.

Kortom ik ga de stringbewerkingen in MySQL wel eens bekijken
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 
Jan Koehoorn

Jan Koehoorn

05/08/2009 12:33:00
Quote Anchor link
Okee, voor ik je help een paar vraagjes:

- Zeker weten dat het een DATE moet worden en geen DATETIME?
- Zeker weten dat in het oude foute formaat de uren soms met 1 cijfer gegeven zijn?
 
El Grimbo

El Grimbo

05/08/2009 12:38:00
Quote Anchor link
Ja want het TIME gedeelte zijn, zoals in het voorbeeld, alleen maar nullen. Omit

De dag en maand bevatten 1 of 2 digits door - gescheiden
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 
Jan Koehoorn

Jan Koehoorn

05/08/2009 12:42:00
Quote Anchor link
Vooral dat laatste is erg vervelend! In je voorbeeld had je voorloopnullen bij dag en maand. Dan zou je gewoon zoiets kunnen
doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
foutedatum,
CONCAT(
SUBSTR(foutedatum, 7, 4),
'-',
SUBSTR(foutedatum, 4, 2),
'-',
SUBSTR(foutedatum, 1, 2)
)
AS goededatum
FROM datumfouten

Je gebruikt dan de SUBSTR functie van MySQL in combinatie met CONCAT om een goeie datumstring in elkaar te puzzelen. Als je test eenmaal de goede uitkomst geeft, maak je er een UPDATE query van.

MySQL heeft ook REGEX mogelijkheden, daar zou ik eens naar gaan kijken.
 
El Grimbo

El Grimbo

05/08/2009 12:44:00
Quote Anchor link
Klopt (van die voorloopnullen) zag ik later pas.

thx ga ik uitkomen
 
Jan Koehoorn

Jan Koehoorn

05/08/2009 12:45:00
Quote Anchor link
Ik heb net even in de MySQL handleiding gekeken en REGEX in MySQL schijnt erg traag te zijn. Mocht het om een grote tabel gaan, dan is het waarschijnlijk handiger om hem gewoon uit te lezen en met PHP regexen te werken.
 
El Grimbo

El Grimbo

05/08/2009 12:50:00
Quote Anchor link
ik zat nog te denken aan een IF( i.c.m. stringlengte.

maar ik weet niet of dat kan.
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 
Wouter De Schuyter

Wouter De Schuyter

05/08/2009 12:50:00
Quote Anchor link
Heb ooit eens een functie gemaakt hiervoor ^^..
Heel handig ^^

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    // CONVERTTIME()
    function converttime($string, $format) {
        $dtime = new datetime($string);
        return $dtime->format($format);
    }
// END CONVERTTIME()
?>



Gebruik je dus bv zo

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$datum
= '1-3-2009 0:00:00';
echo converttime($datum, "Y-m-d"); // OUTPUT: 2009-03-01
?>
 
El Grimbo

El Grimbo

05/08/2009 12:54:00
Quote Anchor link
yep, velen weten meer dan 1 !

thx.

p.s. dat wordt dan echt een batchjob dan.
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.