sql >> Databáze >  >> RDS >> Mysql

mysql STR_TO_DATE nefunguje

Nechte to na jednodušší funkci s. DATE() vrátí datovou část řetězce ve formátu RRRR-MM-DD:

SELECT DATE(birthday) FROM `test`

Výsledek:

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

Důvod, proč váš kód nefunguje, je STR_TO_DATE() očekává stejné vstupní a výstupní formáty, např. STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Podívejte se na příklady v dokumentaci . Tato funkce se používá většinou pro převod dat nebo časů z jednoho formátu do druhého, kde původní formát je něco z jiného než MySQL a chcete data importovat například do formátu data MySQL - v tomto případě budete vědět, jaký je původní formát formát data je.

Příklad:

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. Jak importovat soubor Excel do SQL Server?

  2. Více o zavedení časových pásem v dlouhodobém projektu

  3. CHYBA při odeslání tabulky jako parametru v proceduře úložiště MySQL

  4. Připravené prohlášení o Postgresql in Rails