请教在pl sql中输入如下语句为何总提示"文字与格式字符串不匹配":
select to_date('19'||substr(('8203'),1,2)||substr(('7603'),3,2),'yyyy-mm-dd') from dual

解决方案 »

  1.   

    改成
    select to_date('19' || substr(('8203'), 1, 2) || substr(('7603'), 3, 2),
                   'yyyy-mm')
      from dual
      

  2.   

    你拼出来的字符是198203
    要转换成的格式是yyyy-mm-dd,根本就不匹配嘛
    字符格式转换格式要一样的
    如果换转换格式是yyyy-mm-dd
    字符就应该是1982-03-01
      

  3.   

    非常感谢!
    但是我要根据身份证号来刷新出生日期字段,对于15位的身份证号,用下面的语句运行还是报"文字与格式字符串不匹配"的错误,真搞不懂了!(写的是存储过程)
    update member 
    set birthday= to_date('19'||substr(trim(rc.idcard),7,2)||substr(trim(rc.idcard),9,2)||substr(trim(rc.idcard),11,2),'yyyy-mm-dd')
      

  4.   

    查看你的rc.idcard字段,可能这个字段有错误数据。
      

  5.   

    update member 
    set birthday= to_date('19'||substr(trim(rc.idcard),7,6),'yyyymmdd')