看起来是将日期字符串07/10/2008按照YY/MM/DD的格式来转换成日期值了。

解决方案 »

  1.   

    UPDATE X SET XDATE='07/10/2008' WHERE ID=12345 AND XDATE=TO_DATE('31/12/2039','DD/MM/YYYY') 改为UPDATE X SET XDATE='2008-10-07' WHERE ID=12345 AND XDATE=TO_DATE('2039-21-31',YYYY-MM-DD') 试试看
      

  2.   

    oracle对日期型字段操作就得用to_date()或是你直接参数化多好,用oracleParameter直接写的话就得to_date一下.
      

  3.   

    干脆前面也加UPDATE X SET XDATE=TO_DATE('07/10/2008','DD/MM/YYYY') WHERE ID=12345 AND XDATE=TO_DATE('31/12/2039','DD/MM/YYYY')
      

  4.   

    XDATE数据类型是date吗?是的话要to_date()
      

  5.   

    我本机的时间不是yyyy-mm-dd,估计是数据库的设置或者数据库服务器的设置!
    但是也可能是ADO.NET中的变换的。
    但是为什么加的选择条件不同结果会不同呢?
      

  6.   

    系统(或数据库)语言问题。
    不TO_DATE还能怎么办
    难到把 XDATE改成字符串类型?
      

  7.   


    传参数
    用oracleparameter,肯定没问题.
      

  8.   

    现在的问题不是加不加TO_DATE。
    加TO_DATE的办法我知道是可行的。
    但是什么原因导致在后面的查询条件不同的时候会产生不同的查询结果喃?
    怎样才能在不修改SET部分的情况下获取正确的插入值呢?
    这个问题是数据库服务器系统时间设置,应用程序服务器时间设置还是ADO.NET某些内部变化造成的呢?

    各位大哥看看啊!