怎么判断数据库中的数据是否与指定的值匹配?

viphk 2011-03-12 10:29:01
例如,字段TXT,存储的值如下,
123,523
1236,4356
784562,5456
582933,4356
以上四条记录中每一组中都有一个,号分隔,
现在指定值如;2,3
怎么判断每个字段中是否存在2跟3,2与3的位置也要配对,2是前面那个,3在逗号后面那组中
如果记录中存在指定的值,那么将本条记录的另一个字段hit中的值更新了真True,否则更新为假
...全文
147 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
viphk 2011-03-12
  • 打赏
  • 举报
回复
我写的是一个类似如彩票的程序,如果号码与投入的号码匹配,就更新他的个人资料中的金币,给他增加相应的金币。
viphk 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ssp2009 的回复:]
引用 5 楼 viphk 的回复:
引用 1 楼 ssp2009 的回复:
SQL code
update tb set hit=true where charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0

楼主这个测试出来后……
[/Quote]
请您继续指导怎么写触发器,我是新手没写过,请您帮人帮到底,谢谢了,
快溜 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 viphk 的回复:]
引用 1 楼 ssp2009 的回复:
SQL code
update tb set hit=true where charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0

楼主这个测试出来后是我要的效果,但不完整,怎么把不符合记……
[/Quote]
这需要些个触发器。。
viphk 2011-03-12
  • 打赏
  • 举报
回复
update Sscbetting
set zhangtai=(case when charindex('5',left(hm,charindex(',',hm)-1))>0
and charindex('6',right(hm,len(hm)-charindex(',',hm)))>0 then 'true' else 'false' end)

结合两位高手的回答,更新真假已经可以了,但是如果某条被标记为真,则向另一个表中添加一条通知,这个应该怎么做?
jiao3630 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 viphk 的回复:]
引用 1 楼 ssp2009 的回复:
SQL code
update tb set hit=true where charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0

楼主这个测试出来后是我要的效果,但不完整,怎么把不符合记……
[/Quote]
一二楼结合一下


update tb
set hit = (case when charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0
then 'true' else 'false' end)
viphk 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]
SQL code
update tb set hit=true where charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0
[/Quote]
楼主这个测试出来后是我要的效果,但不完整,怎么把不符合记录的标记为假?你这里只把符合的标记为真。
还能不能添加一个问题?
如果某条被标记为真,则向另一个表中添加一条通知
feixianxxx 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]

SQL code
update tb set hit=true where charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0
[/Quote]
...
viphk 2011-03-12
  • 打赏
  • 举报
回复
都是高手,我试一下
dawugui 2011-03-12
  • 打赏
  • 举报
回复
update tb
set hit = (case when charindex(',2,3,' , ',' + txt + ',') > 0 then 'true' else 'false' end)
快溜 2011-03-12
  • 打赏
  • 举报
回复
update tb set hit=true where charindex('2',left(TXT,charindex(',',TXT)-1))>0
and charindex('3',right(TXT,len(TXT)-charindex(',',TXT)))>0

34,576

社区成员

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

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