charindex(p.Product_Name,'泰国马来菲律宾新加坡文莱沙巴普吉岛巴厘岛长滩岛绿中岛兰卡威')>0;
p.Product_Name的值是 '泰国经典五晚七日游'
这个匹配之后的索引是 < 0 吧....如果p.Product_Name的值是 '泰国'
他才会 > 0 的吧?

解决方案 »

  1.   

    是的。你必须在charindex(p.Product_Name,'srr')>0;里面写的是你的p.Product_Name的值
    换成p.Name,那就是p.Name的值,明白了么
      

  2.   

    p.Product_Name的值是 '泰国马来菲律宾新加坡文莱沙巴普吉岛巴厘岛长滩岛绿中岛兰卡威' 才会>0
      

  3.   

    举个例
    select * from table_a where charindex('a',id)>0 or charindex('b',id)>0 
    table_a 表中 id字段中含有"a"或者"b"的记录. 
    返回字符串中指定表达式的起始位置。
      

  4.   


    select p.Product_ID,Product_SortID,Product_SortUrl,s.sort_name,p.Product_Name from Travel_Sort s inner join Travel_Product p
    on s.Sort_ID=p.Product_Sortid 
    where
    (p.Product_Name like '%无锡%' or
    p.Product_Name like '%上海%' or 
    p.Product_Name like '%苏州%' or
    p.Product_Name like '%杭州%' or
    p.Product_Name like '%南京%' or 
    p.Product_Name like '%扬州%' or
    p.Product_Name like '%宁波%' or
    p.Product_Name like '%绍兴%' or 
    p.Product_Name like '%泰州%' or
    p.Product_Name like '%嘉兴%' or
    p.Product_Name like '%连云港%' or 
    p.Product_Name like '%临安%' or
    p.Product_Name like '%安吉%' or
    p.Product_Name like '%武义%') and 
    (s.sort_name <> '山水') and 
    (s.sort_name <> '温泉')
    /*
                          Sort_name        Product_Name
    14 35 ,0,1, 都市 绍兴柯岩  鲁迅故里   五泄飞瀑   经典王牌二日
    24 36 ,0,1, 古镇  绍兴柯岩-鲁迅故里-西塘古镇-经典王牌二日
    29 36 ,0,1, 古镇 杭州西湖-虎跑-灵隐飞来峰-乌镇精华四星二日
    37 35 ,0,1, 都市  绍兴柯岩•鲁镇•古鉴湖-鲁迅故里休闲特惠二日
    */
      

  5.   

    这个我知道啊. 看看我那个一长串的like and or写法能不能换成charindex的写法
      

  6.   

    是,可是这样不能用charindex吧?
      

  7.   

    Product_Name  是很长的 不是单个的地名..