2014-04-28 75 views
0

所以基本上我已经插入到数据库中解析数据库字符串

ID = 1 值=约翰,迈克尔,萨拉

ID = 2 值=迈克此列称为签名,Steve,约翰 。 。

现在在asp.net我不知道我该怎么做选择命令,并知道如果该值

约翰,迈克尔,萨拉

在它有“迈克尔”

回答

1

回答您的问题:

CHARINDEX()在较大的字符串内搜索子字符串,并返回位置本场比赛的,还是0,如果没有发现匹配

SELECT * FROM [Table] WHERE CHARINDEX(Signature, 'Michael') > 0 

或者

你可以使用通配符查询(后认为,如果将或ON):

SELECT * FROM [Table] WHERE Signature LIKE '%' + 'Michael' + '%' 

但真的是你应该将这些数据存储在单独的相关表中。

0
select * 
from Signature 
where value like '%Micheal%' 
+2

在发布答案,请加和解释说明你改变了什么或添加或如何工作或什么的。尽管你的答案可能是解决方案,但有些阅读此文的人可能不明白其意义或工作原理。 –

1

不要

为每个签名名称添加一个包含行的新表,并为每个签名者使用一行。这是关系数据库的要点。

1 John 
1 Michael 
1 Sara 
2 Mike 
2 Steve 
2 John 

或者更好的是,添加了两个新表 - 一个用于签署,以及一个用于之间的关系,你的初始表

Signatories 

1 John 
2 Michael 

ItemSignatures 
ItemID SignatoryID 
1  1 
1  2 
2  1