charindex

New_Linkin 2012-03-05 04:00:58

charindex(p.Product_Name,'泰国马来菲律宾新加坡文莱沙巴普吉岛巴厘岛长滩岛绿中岛兰卡威')>0;


p.Product_Name的值是 '泰国经典五晚七日游'
这个匹配之后的索引是 < 0 吧....

如果p.Product_Name的值是 '泰国'
他才会 > 0 的吧?
...全文
190 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
New_Linkin 2012-03-06
  • 打赏
  • 举报
回复
Product_Name 是很长的 不是单个的地名..
New_Linkin 2012-03-06
  • 打赏
  • 举报
回复
是,可是这样不能用charindex吧?[Quote=引用 13 楼 travylee 的回复:]

引用 12 楼 new_linkin 的回复:

这个我知道啊. 看看我那个一长串的like and or写法能不能换成charindex的写法引用 7 楼 chinajiyong 的回复:

举个例
select * from table_a where charindex('a',id)>0 or charindex('b',id)>0
table_a 表中 id字段中含有"a"……
[/Quote]
夜色镇歌 2012-03-06
  • 打赏
  • 举报
回复
不行的
New_Linkin 2012-03-06
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 new_linkin 的回复:]

这个我知道啊. 看看我那个一长串的like and or写法能不能换成charindex的写法引用 7 楼 chinajiyong 的回复:

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

你给的数据不还是只有一个字段在模糊查询么
New_Linkin 2012-03-05
  • 打赏
  • 举报
回复
这个我知道啊. 看看我那个一长串的like and or写法能不能换成charindex的写法[Quote=引用 7 楼 chinajiyong 的回复:]

举个例
select * from table_a where charindex('a',id)>0 or charindex('b',id)>0
table_a 表中 id字段中含有"a"或者"b"的记录.
返回字符串中指定表达式的起始位置。
[/Quote]
New_Linkin 2012-03-05
  • 打赏
  • 举报
回复
恩..现在这个知道了[Quote=引用 10 楼 szstephenzhou 的回复:]

只有大于等于0 没有小于0的
[/Quote]
勿勿 2012-03-05
  • 打赏
  • 举报
回复
只有大于等于0 没有小于0的
New_Linkin 2012-03-05
  • 打赏
  • 举报
回复
就是嫌这样太麻烦了。
想换个写法
New_Linkin 2012-03-05
  • 打赏
  • 举报
回复

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, 都市 绍兴柯岩•鲁镇•古鉴湖-鲁迅故里休闲特惠二日
*/
EnForGrass 2012-03-05
  • 打赏
  • 举报
回复
举个例
select * from table_a where charindex('a',id)>0 or charindex('b',id)>0
table_a 表中 id字段中含有"a"或者"b"的记录.
返回字符串中指定表达式的起始位置。
  • 打赏
  • 举报
回复
你发你的数据和结果吧,这样看得明显
New_Linkin 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 travylee 的回复:]

是的。你必须在charindex(p.Product_Name,'srr')>0;里面写的是你的p.Product_Name的值
换成p.Name,那就是p.Name的值,明白了么
[/Quote]
唵嘛呢叭咪吽 2012-03-05
  • 打赏
  • 举报
回复
p.Product_Name的值是 '泰国马来菲律宾新加坡文莱沙巴普吉岛巴厘岛长滩岛绿中岛兰卡威' 才会>0
New_Linkin 2012-03-05
  • 打赏
  • 举报
回复
晕。。。 那上个问题不能那么干啊[Quote=引用 1 楼 travylee 的回复:]

是的。你必须在charindex(p.Product_Name,'srr')>0;里面写的是你的p.Product_Name的值
换成p.Name,那就是p.Name的值,明白了么
[/Quote]
AcHerat 元老 2012-03-05
  • 打赏
  • 举报
回复
没有小于0,只有等于0.
  • 打赏
  • 举报
回复
是的。你必须在charindex(p.Product_Name,'srr')>0;里面写的是你的p.Product_Name的值
换成p.Name,那就是p.Name的值,明白了么

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧