Mysql
 sql >> база данни >  >> RDS >> Mysql

Преобразуване на низ с различен формат към днешна дата

Има трик за откриване на валидна дата на man страница . Можете да го използвате, за да определите дали STR_TO_DATE форматът работи.

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

Поставете един формат за всички, които очаквате. Тествайте като луд.

Успех.

(О, и поздравления за опита да изчистите лоша схема!)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите дали променливата е NULL, след което да я зададете с MySQL съхранена процедура?

  2. PDO + MySQL винаги връща низове, но какво да кажем за MsSQL?

  3. достъпът е отказан при опит за свързване с mysql с помощта на източник на данни tomcat

  4. Вмъкване на произволни знаци в базата данни на MYSQL

  5. MySQL COUNT() – Вземете броя на редовете, които трябва да бъдат върнати от заявка