like往往都是把某个字段的值和你给出的值进行筛选,字段是大范围,给出的是小范围能不能这样:你给出的是大范围,然后字段是小范围,然后筛选出符合的条件
比如拿浏览器的useragent举个例子:比如我指定UA字段值是:msie,opera,firefox然后我给出个值:Opera/9.80 (Windows NT 6.1; U; Edition Next; zh-cn) Presto/2.9.220 Version/12.00这样"逆向like"后,发现字段里的opera是包含在我给出的值里的,就把这条记录筛选出来不知道这样的能不能做到哈哈~~

解决方案 »

  1.   

    这样用^表示非字段有非数字的字符select * from table1 where Col like '%[^0-9]%'
      

  2.   

    把浏览器生成一个结果集再查如:
    --用一个表变量存储要查的浏览器,常用可用一个表存储
    declare @T table(Col nvarchar(100))
    insert @T select 'Firefor'
    insert @T select 'Chrome'select * from table1  as a where exists(select 1 from @T where  ','+AllowUserAgentChar+',' like '%,'+Col+',%')或一个个,建议用上一个方法
    select * from table1 where (','+AllowUserAgentChar+',' like '%,Firefor,%') or
    (','+AllowUserAgentChar+',' like '%,Chrome,%')