请教各位大哥:我的oracle语句是这样的
update d_counter set recordtime=:d_recordtime,count=2,quality=4
where to_char(recordtime,'yyyy:mm:dd')=to_char(:d_recordtime,'yyyy:mm:dd') 
and wfcode='jl02' and wtcode='001' and mpcode='WECN'在添加参数:d_recordtime时出了问题我做了监视,把参数值放在语句中
update d_counter set recordtime=:d_recordtime,count=2,quality=4
where to_char(recordtime,'yyyy:mm:dd')=to_char('2009-5-6 16:03:08','yyyy:mm:dd') 
and wfcode='jl02' and wtcode='001' and mpcode='WECN'
在PL\SQL中执行总是报错无效字符,我只是想比较输入参数和当前recordtime的时间是否是同一天,不比较后面的时间,请问如何更改

解决方案 »

  1.   

    to_char('2009-5-6 16:03:08','yyyy:mm:dd')
    前面的串和掩码不匹配
      

  2.   

    你的d_recordtime是什么类型的,是date类型的么?
      

  3.   

    还有一个问题,to_char('2009-5-6 16:03:08','yyyy:mm:dd') 
    前面已经是字符了,在执行to_char也不对
      

  4.   

     paRecordTime = new OracleParameter(":d_recordtime", OracleDbType.TimeStamp);
    :d_recordtime是TimeStamp类型
    请问不匹配应该如何改
      

  5.   

    如果recordtime是date
    where to_char(recordtime,'yyyy-mm-dd hh24:mi:ss')='2009-05-06 16:03:08'
    如果是字符直接比较 
    recordtime='2009-5-6 16:03:08' 
      

  6.   

    如果recordtime是date 
    where to_char(recordtime,'yyyy-mm-dd')='2009-05-06' 
    如果是字符直接比较 
    substr(recordtime,1,8)='2009-5-6'  --这个还要看recordtime是存的什么格式