接手了个烂摊子,需要操作数据库,其中碰到个问题
mysql中字符串转date类型
select str_to_date('201133','%Y%c%e') 这语句为什么是错误的?
我查资料得知%c和%e都是不带0的月日,为什么运行显示null?
我把字符串换成20110303的话就能运行成功 奇了怪了

解决方案 »

  1.   

    格式不对
    STR_TO_DATE('2011-03-03','%Y-%m-%e')
    or
    STR_TO_DATE('20110303','%Y%m%e')对字符串先做处理,再转换
      

  2.   


    晕 先不好意思  想点击引用的 不小心扔板砖了;
    主要问题是201133 是数据库已经存在的字符串,同样类型的字符串有N万条,我想新建视图用以规范这个时间字段;
    另我查看了手册 %c%e 上面写是不带0的月和日,应该是满足字符串的格式要求的,为什么就不能转换;
      

  3.   

    只有这种格式可以转换
    SELECT STR_TO_DATE('2011033','%Y%c%e')处理一下字符串
      

  4.   

    检查一下控制面板中的日期格式 OR MYSQL中的日期格式
      

  5.   

    select str_to_date('201133','%Y%c%e')格式有问题吧。 '20110303'或者'2011-03-03'。
      

  6.   

    lz,你可以先将字符串类型的时间(201133)转为规范的形式(20110303),然后再用str_to_date函数做转换啊!