【问题标题】:MySQL: extracting date from stringMySQL:从字符串中提取日期
【发布时间】:2016-06-24 23:12:42
【问题描述】:

是否可以从以下字符串获取 mysql 中的日期:Thu Mar 10 005758 EST 2016 ?我想获取 mm/dd/yy 格式的日期。

【问题讨论】:

    标签: mysql string date extract


    【解决方案1】:

    使用 STR_TO_DATE() 将原始字符串转换为日期:

    mysql> SELECT STR_TO_DATE('Thu Mar 10 005758 EST 2016', '%a %b %e %H%i%s EST %Y');
    +---------------------------------------------------------------------+
    | STR_TO_DATE('Thu Mar 10 005758 EST 2016', '%a %b %e %H%i%s EST %Y') |
    +---------------------------------------------------------------------+
    | 2016-03-10 00:57:58                                                 |
    +---------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    然后使用 DATE_FORMAT() 将其格式化为您想要的 'mm/dd/yy':

    mysql> SELECT DATE_FORMAT( STR_TO_DATE('Thu Mar 10 005758 EST 2016', '%a %b %e %H%i%s EST %Y'), '%m/%d/%y');
    +-----------------------------------------------------------------------------------------------+
    | DATE_FORMAT( STR_TO_DATE('Thu Mar 10 005758 EST 2016', '%a %b %e %H%i%s EST %Y'), '%m/%d/%y') |
    +-----------------------------------------------------------------------------------------------+
    | 03/10/16                                                                                      |
    +-----------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    【讨论】:

    • OP 希望将其格式化为 mm/dd/yy。或许加DATE_FORMAT( YOUR_SELECT, '%m/%d/%Y')
    • 已更新。谢谢。 %y 应该用于两位数的年份。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2018-07-18
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多