做项目时,遇到一个mysql字符串转化时间的问题。另外一个软件对接方提供给我的时间数据类型为char,
如:11 Dec 2012 18:27:55 CST,而我需要在数据库中用这个字段作为过滤条件,进行比较操作,因为是char类型,不能直接比较,所以要转化为date类型再进行比较。
我使用了date_format(要转化的字段, '%Y-%m-%d %H:%i:%S')可是不能成功转化。请高手帮忙解决下。
【注】提供的时间数据样式和类型无法改变了,都类似于11 Dec 2012 18:27:55 CST
3Qmysql

解决方案 »

  1.   

    用LEFT先取一下 "11 Dec 2012 18:27:55" 然后再 str_to_date
      

  2.   

    我用了 str_to_date(left(要转化的字段, 20), '%Y-%m-%d %H:%i:%S')还是不能转化啊?
      

  3.   

    mysql> select str_to_date('11 Dec 2012 18:27:55','%d %M %Y %H:%i:%S');   
    +---------------------------------------------------------+
    | str_to_date('11 Dec 2012 18:27:55','%d %M %Y %H:%i:%S') |
    +---------------------------------------------------------+
    | 2012-12-11 18:27:55                                     |
    +---------------------------------------------------------+
    1 row in set (0.00 sec)