SQLsql server 中如何判断一个字段中包含另一个字段,并记录下来,生成新表?(在sql语句中怎么判断一个字段是否包含在另一个字符串中)
- 在sql语句中怎么判断一个字段是否包含在另一个字符串中
- SQL SERVER判断字段包含另一字段
- SQL如何查询纪录中的一个字段的值是否包含在另一个字段的值中
- 在SQLSERVER中如何检测一个字符串中是否包含另一个字符串
在sql语句中怎么判断一个字段是否包含在另一个字符串中
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、语句执行结果:
SQL SERVER判断字段包含另一字段
select A1,A2,B2 from A,B where charindex(','+A1+',',','+B1+',')>0
试试这个可不可以
SQL如何查询纪录中的一个字段的值是否包含在另一个字段的值中
SELECT * FROM 表
where keyword not like '%'+Name+'%'以上查询关键字里不包含姓名的数据
根据需要自己修改一下就好了
在SQLSERVER中如何检测一个字符串中是否包含另一个字符串
--当charindex返回值大于0时则包含 为0不包含
select CHARINDEX('456','123456')