sql >> Database >  >> RDS >> Mysql

mysql STR_TO_DATE werkt niet

Laat het over aan eenvoudigere functie s. DATE() geeft het datumgedeelte van een tekenreeks terug in de indeling JJJJ-MM-DD:

SELECT DATE(birthday) FROM `test`

Resultaat:

2004-12-25      
2004-12-25      
1994-12-25      
1994-12-01      

De reden dat uw code niet werkt, is dat STR_TO_DATE() verwacht dezelfde invoer- en uitvoerformaten, b.v. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Bekijk de voorbeelden in de documentatie . Deze functie wordt meestal gebruikt om datums of tijden van het ene formaat naar het andere te converteren, waarbij het oorspronkelijke formaat iets van buiten MySQL is en u de gegevens bijvoorbeeld in het datumformaat van MySQL wilt importeren - in dit geval weet u wat het origineel datumnotatie is.

Voorbeeld:

SELECT STR_TO_DATE('20041225', '%Y-%m-$d');   -- null - formats don't match
SELECT STR_TO_DATE('2004-12-25', '%Y-%m-%d'); -- 2004-12-25 - formats match


  1. Opgeslagen Oracle-procedure aanroepen met uitvoerparameter van SQL Server

  2. zeilen-mysql:ER_NO_DB_ERROR:Geen database geselecteerd

  3. Nog een argument voor opgeslagen procedures

  4. Hoe maak ik verbinding met een SQL Server 2008-database met behulp van JDBC?