第一句select * from 111 a where a.updt_date like '2011-11-09%'第二局select * from 111 a where a.updt_date between
       to_date(to_char(sysdate - &1, 'yyyymmdd') || ' 00:00:00',
               'yyyymmdd HH24:Mi:SS') and
       to_date(to_char(sysdate - &1, 'yyyymmdd') || ' 23:59:59',
               'yyyymmdd HH24:Mi:SS').原因,有两天的数据查不到,我where a.updt_date like '2011-11-09%' 就查得到 ,用where a.updt_date='2011-11-09'就查不到。实现,我要在第二句中加上like,改如何加?

解决方案 »

  1.   

    to_char(a.updt_date,'yyyy-MM-dd')='2011-11-09'
      

  2.   

    where trunc(a.updt_date) = date '2011-11-09'
      

  3.   

    没听明白我的意思吧
    我是要在between 和 and 条件上加上like我用where a.updt_date='2011-11-09'就查不到。
    用where a.updt_date='2011-11-10'就查得到。
      

  4.   

    我想不明白的是你非要在between 和 and 条件上加上like干啥?
    你用2楼的方法,between..and..两个时间不就O了么?
      

  5.   


    因为是系统设置的啊,不用like查不到,那日期有问题
      

  6.   

    updt_date的字段的类型是什么?
    是要查询指定日期之间的记录吗?
      

  7.   

    我弄了一些date类型的字段,并输入了一些模块数据。
    SELECT * FROM t1;--查询07月9日的数据
    SELECT * FROM T1 WHERE MyTime BETWEEN TO_DATE('2011-7月-09 00:00:00', 'YYYY-Month-dd HH24:MI:SS') AND TO_DATE('2011-7月-10 00:00:00', 'YYYY-Month-dd HH24:MI:SS')