sql >> Databasteknik >  >> RDS >> Mysql

Konvertera sträng med annat format till datum

Det finns ett knep för att upptäcka ett giltigt datum på man page . Du kan använda den för att avgöra om en STR_TO_DATE formatet fungerade.

select foo,
    case when length(date(str_to_date(foo,"%Y-%m-%d %H:%i:%S"))) is not null then str_to_date(foo,"%Y-%m-%d %H:%i:%S")
        when length(date(str_to_date(foo,"%b %d %Y %h:%i%p"))) is not null then str_to_date(foo,"%b %d %Y %h:%i%p")
    end as newdate
from my_table

Sätt ett format för alla du förväntar dig. Testa som en galning.

Lycka till.

(Åh, och grattis för att du försöker städa bort ett dåligt schema!)



  1. MySQL RAND() hur ofta kan det användas? använder den /dev/random?

  2. Tvinga viloläge för att skapa tabeller efter att ha släppt och återskapat databasen

  3. Kan jag använda icke-aggregerade kolumner med gruppera efter?

  4. Hur man mappar flera partitioner till en enda filgrupp i SQL Server (T-SQL)