小弟刚学oracle,有些语句不知道啥意思,请高手帮忙!
1) sql = "select * from table1 where id like '%" + id + "%'";
请问高手like是啥意思啊?两个单引号里为什么用%?id旁边为什么用两个"+",两个"+'旁边怎么还用",请高手帮小弟解释下啊!
2)Oracle里的sql的变量引用是用' ',sqlserver里是用" ",是不是这样啊?

解决方案 »

  1.   

    +的功能是连接字段串,%是匹配不定位数的字符。
    例如某ID为1001
    则SQL转变为:
    select * from table1 where id like '%1001%';
    意思是查找TABLE1中ID中含有“1001”的所有记录。
    0100100也算,1111001222也算等等
      

  2.   

    select * from table1 where id like '%id%'应该这样写。也就是说数据里面包含有id的全部查找出来。如果是'id%'就是以id开头的全部查找出来。如果是'%id'就是以id结尾的全部查找出来
      

  3.   

    建议LZ看看ORACLE的基础书先这条语句sql = "select * from table1 where id like '%" + id + "%'";在ORACLE中是不合法的。应该是用“||”取代“+”
      

  4.   

    两个%表示完全匹配;比如ID=A,它会把含A的全部查出来,不管A前面或者后面是否有字符.
    id旁边为什么用两个+ :因为ID是个变量,用+进行连接