高手快来呀,急求一查询某字段是否包含一字符串,用charindex和patindex好像都不好使

jin20000 2009-11-28 01:13:12
求一查询,查询一个字段值中是否包含参数传递的字符串

如:表A中字段(水果)的值如下:

id  水果名称
-----------------------------------------------
1    黑苹果,梨,香蕉,西瓜,
2    苹果,香蕉,
3    香蕉,西瓜,

字段值中的水果名称以,号分割。现在想传递一个参数如:“苹果”来查询当前行的水果字段中是否包含这个水果名称,
如果包含就返回一个值“有”,否则返回“无”,例如,上面的数据,
用下面的SQL:
select * from tb where charindex('苹果' , 水果名称 ) > 0
就会有1和2,但我要的
是只有2,也就是","之间的值和参数完全匹配的,用charindex和patindex好像都不好使
存储过程也不用说了,因为用到得地方只能用查询
...全文
116 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jin20000 的回复:]
引用 3 楼 josy 的回复:
SQL codeselect*from tbwherecharindex(',苹果,' ,','+水果名称+',')>0

这个不行吧,那我第一个和最后一个怎么办
[/Quote]

行的

这样也行,因为你的水果名称是以,结束 的
select*from tbwherecharindex(',苹果,' ,','+水果名称)>0
sgtzzc 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jin20000 的回复:]
引用 3 楼 josy 的回复:
SQL codeselect*from tbwherecharindex(',苹果,' ,','+水果名称+',')>0

苹果这个变量会是另外一张表的一个字段

[/Quote]


select * 
from tb
where charindex(','+另一个表的字段+',' ,','+水果名称+',') > 0

两个表关联的部分楼主自己写
jin20000 2009-11-28
  • 打赏
  • 举报
回复
结贴
jin20000 2009-11-28
  • 打赏
  • 举报
回复
懂了,自己笨了
jin20000 2009-11-28
  • 打赏
  • 举报
回复
难道需要在水果名称的第一和最后都加上','吗?
这样不好喝客户解释啊
-狙击手- 2009-11-28
  • 打赏
  • 举报
回复
select b.*
from tb b,ta a
where charindex(','+a.col+',' ,','+水果名称+',') > 0
jin20000 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 josy 的回复:]
SQL codeselect*from tbwherecharindex(',苹果,' ,','+水果名称+',')>0
[/Quote]
这个不行吧,那我第一个和最后一个怎么办
sgtzzc 2009-11-28
  • 打赏
  • 举报
回复
select * from tb where ','+水果名称+',' like '%,苹果,%'
jin20000 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 josy 的回复:]
SQL codeselect*from tbwherecharindex(',苹果,' ,','+水果名称+',')>0
[/Quote]
苹果这个变量会是另外一张表的一个字段
-狙击手- 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 josy 的回复:]
SQL codeselect*from tbwherecharindex(',苹果,' ,','+水果名称+',')>0
[/Quote]

把持
jin20000 2009-11-28
  • 打赏
  • 举报
回复
苹果是个变量了
jin20000 2009-11-28
  • 打赏
  • 举报
回复
我顶
百年树人 2009-11-28
  • 打赏
  • 举报
回复
select * from tb where charindex(',苹果,' ,','+水果名称+',') > 0 
jin20000 2009-11-28
  • 打赏
  • 举报
回复
高手快来啊
jin20000 2009-11-28
  • 打赏
  • 举报
回复
自己先顶顶

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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