sql >> Databasteknik >  >> RDS >> Mysql

mysql STR_TO_DATE fungerar inte

Lämna det till enklare funktion s. DATE() returnerar datumdelen av en sträng i formatet ÅÅÅÅ-MM-DD:

SELECT DATE(birthday) FROM `test`

Resultat:

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

Anledningen till att din kod inte fungerar är att STR_TO_DATE() förväntar sig samma inmatnings- och utdataformat, t.ex. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Ta en titt på exempel i dokumentationen . Den här funktionen används mest för att konvertera datum eller tider från ett format till ett annat, där originalformatet är något utanför MySQL och du vill importera data till MySQL:s datumformat till exempel - i det här fallet vet du vad som är originalet datumformatet är.

Exempel:

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. Har Oracle ett filtrerat indexkoncept?

  2. Vilka är de livskraftiga databasabstraktionslagren för Python

  3. Importera SQL-fil till mysql

  4. Varför datasäkerhetskopiering är viktigt för din organisation