MySQL 数据库中 ApplyTime字段日期存储格式为:20111209 有什么好的方法能够把ApplyTime字段里面的值全部转换成:2011-11-09 这样的格式!!! applytime类型为varchar(50) 然后我这样写无法执行 
UPDATE feet SET applyTime=STR_TO_DATE(ApplyTime,'%Y-%m-%d') WHERE length(applytime)<>10 and applytime<>'' and applytime not like '%-%'; 这样不行,请问哪里有问题吗?

解决方案 »

  1.   

    mysql> select STR_TO_DATE('20100909','%Y%m%d');
    +----------------------------------+
    | STR_TO_DATE('20100909','%Y%m%d') |
    +----------------------------------+
    | 2010-09-09                       |
    +----------------------------------+
    1 row in set (0.00 sec)
      

  2.   

    你的日期是 20111209 中间没有那个减号。 这样直接用1楼的 %Y%m%d' 就行了。