现在一个表中某个字段配置值为:
smodecode (mode_code char(8))当mode_code为:A_______ , 可我传入值A1234567查询数据库中是否有记录,都认为数据库中有该配置信息。
当mode_code为:A1234567,  就只能匹配A1234567。匹配成功.
当mode_code为:__A_____ ,传入值12A34343,匹配成功。
这样的SQL怎么写啊...

解决方案 »

  1.   

    当你传入一个值 ,如果数据库中, 又这样的数据 ___A___
    select COUNT(*) from smodecode where (mode_code  = 'A1234567'  or ??? )如果数据库中有A______这样的值,我也要count(*)返回大于零的值,这下明白了吧、 问好部分应该怎么写呢?
      

  2.   

    我数据库中有这样的值
    >select mode_code from smodecode;
    mode_code
    00Mddddf
    0A______
    jjjjjbjj
    ___34jka当我想查询某个值在数据库中是否有记录,当我的条件值为0Akkkkkk,OAkjefjel,等只要是0A开头的值,就认为数据库中有记录。
      

  3.   

    select COUNT(*) from smodecode where mode_code  like '0A%'
      

  4.   

    其他中的 _ 代表相应的闻之可以匹配任意的数据,如果数据库中为________,那么我用任何条件查询,都认为在数据库中有记录。我表达也只能这样了。。我QQ 360065646 ,希望SQL高手帮个忙。
      

  5.   

    SELECT COUNT(1) FROM TAB WHERE INSTR('传入的值',replace(mode_code,'_'))>0;
      

  6.   

    select × from smodecode where 传进来的字符  like mode_code这样子就可以了,把字段和字符换个位置,因为oracle里面'_'就表示匹配一个字符,如果你的字段值里不是'_',可以把字段值的符号改为'_'
      

  7.   

    如:如果是*号。
    select × from smodecode where 传进来的字符  like Translate(mode_code , '*', '_')
      

  8.   

    select COUNT(*) from smodecode where mode_code  like '0A%'