select * from book_info where last_modify_time like '%20%'
这个可以查到
但是
select * from book_info where last_modify_time like '%2010%'
为什么查不到了

解决方案 »

  1.   

    你的last_modify_time 是什么格式的?你不能用between  and 吗?
      

  2.   

    那你,为什么不是用oracle的函数去进行截取
      

  3.   

    select * from book_info where to_char(last_modify_time) like '%20%'
    不过你这是啥需求呀?
    这么奇怪的查询条件
      

  4.   

    select * from book_info where to_char(last_modify_time,'yyyy') = '2010'
    查询年份在2010年的
    select * from book_info where to_char(last_modify_time,'mm') = '09'
    查询月份在9月份的。
    自己好好研究研究oracle的to_char函数吧。
      

  5.   

    select * from book_info where last_modify_time like '%20%'
    这样查出来的都是日期为20号的数据,这是oracle的隐形数据类型转换的结果。建议自己进行类型转换。
      

  6.   

    to_char之后还是会出现你说的问题???
      

  7.   

      用了to_char的话 last_modify_time列上的索引就失效了 
      

  8.   

    select * from book_info where to_char(last_modify_time,'yyyy') = '2010'
    查询年份在2010年的
    select * from book_info where to_char(last_modify_time,'mm') = '09'
    查询月份在9月份的。
    ①select * from book_info where to_char(last_modify_time,'yyyy') = '2010' and to_char(last_modify_time,'mm') = '09'
    ②select * from book_info where to_char(last_modify_time,'yyyy-mm') = '2010-09'
    查询年份在2010年的9月份的①是供你自己学习参考使用的,②效率高,推荐使用
    select * from book_info where to_char(last_modify_time,'dd') = '2%'
    查询日期在20-29日的
      

  9.   


    select * from book_info where to_char(last_modify_time,'yyyy') ='2010'
      

  10.   

    select * from book_info where last_modify_time like '%2%'
    如果直接这样查的话,是按照一个什么规则查找的?
      

  11.   

    select * from book_info where to_char(last_modify_time,'dd') = '2%'
    查询日期在20-29日的上面这个我试了下不行的
      

  12.   


    select * from book_info where to_char(last_modify_time,'dd') like '2%'
    查询日期在20-29日的.
    兄弟对不住,我写着急了,应该用like这种字符串的模糊匹配都要用like
      

  13.   

    时间段的话应该用between and就可以了吧
      

  14.   

    查询时最好搞清楚数据存储的格式,如果要查2010年,最好用函数控制在YEAR
      

  15.   

    数据量大不大 判断条件时候,在数据字段添加函数导致索引失效,会影响sql的执行性能 建议将条件改为date类型 另外between and 也不如直接使用> <运算符判断
    比如:
    select t.字段1,t.字段2 from table t where t.last_modify_time>to_date('2010-10-10','yyyy:mm:dd') and t.last_modify_time<to_date('2010-11-10','yyyy:mm:dd')
    如果有其他截取字段的要求,还可以配合使用SUBSTR和trunc函数。
      

  16.   

    **在数据字段添加函数导致索引失效**
    加上to_date函数就不会吗