在sql语句中怎么判断一个字段是否包含在另一个字符串中

 我来答
hy1397471
2017-06-13 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

sql语句判断一个字段是否包含在另一个字符串中的方法

一、语句中使用到的函数有

1、CHARINDEX:函数返回字符或者字符串在另一个字符串中的起始位置。

语法:CHARINDEX ( expression1 , expression2 [ , start_location ] ) 

expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 

CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么返回0

2、rtrim:函数去除字符串右边的空格符。

二、例子中的表格为:tt,结构数据如下

下面语句检索test_column字段的值包含在字符串 ‘aabb’中的记录

select * from tt where CHARINDEX(rtrim(test_column),'aabb') > 0 ;

1、rtrim(test_column),部分数据库,在对字符型字段的值做操作的时候,会在字符串的右边补足空格符。

例如:字段类型为char(8),字段的值为‘aa’,那么会使用‘aa        ’来操作,这样会影响语句的结果。所以使用rtrim函数去除字符串右边的空格符。

2、CHARINDEX(rtrim(test_column),'aabb'),在字符串‘aabb’中查找是否包含rtrim(test_column)返回的字符串,找到返回字符串起始位置,反之返回0.所以包含则返回大于0的值。

3、语句执行结果:

zyr江火似流萤
2018-03-31 · TA获得超过9923个赞
知道小有建树答主
回答量:125
采纳率:100%
帮助的人:2.2万
展开全部

思路是,读取B.name字符串后进行字符串的的分割  name.,然后最后执行模糊查询A表,可以这样


WHERE     (A.nameLIKE '%查%') AND (A.nameLIKE '%体%') 


只能说完全用sql语句实现,有点难吧! 


string name = "查体";


char[] NameChar = name.ToArray();


string SqlStr = "select * from A ";


for (int i = 0; i < NameChar.Count(); i++)
{
if (i == 0)
{
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
}
else
{
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
}
}

可以告诉你,没有关联查一个表还行,两个表都来不太可能。   

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
氪出海
2019-01-24 · TA获得超过635个赞
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:92万
展开全部
instr(a表.字段1,b表.字段2)>0
加这个条件就可以判断a表的字段1 是否包含 b表的字段2 了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式