sql server-sqlserver截取分割字符串问题

问题描述

sqlserver截取分割字符串问题
我有两个表 表A表B 表A中有字段CategoryID,也是表B的主键,但是表A中CategoryID字段里有多个值,用“,”隔开了,想请教一下各位大神 怎样用表A 中的字段作为连接表B的条件图片说明](http://img.ask.csdn.net/upload/201508/31/1440998841_125141.png)

解决方案

SQLSERVER字符串截取
SQLSERVER字符串截取
SQLSERVER字符串截取

解决方案二:
各位大神 请帮帮忙啊

解决方案三:
程序中分割吧,好控制点

解决方案四:
select * from a left join b on charindex(a.CategoryIDb.CategoryID1)>0

解决方案五:
同意楼上的办法,但需要该进一下,否则10和1也会比配上,我一般是做法是
另外被查找的字符串放在第二个参数

 select * from a left join b on charindex(''+b.CategoryID+''''+a.CategoryID+''1)>0SELECT  CHARINDEX(  '1''10')CHARINDEX(  '1''10')
时间: 2024-11-08 23:21:04

sql server-sqlserver截取分割字符串问题的相关文章

SQL Server实现将特定字符串拆分并进行插入操作的方法_MsSql

本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI

在SQL Server数据库中拆分字符串函数

SQL Server数据库中拆分字符串函数的具体方法: CREATE FUNCTION uf_StrSplit '1.1.2.50','.' (@origStr varchar(7000), --待拆分的字符串 @markStr varchar(100)) --拆分 标记,如',' RETURNS @splittable table ( str_id varchar(4000) NOT NULL, --编号ID string varchar(2000) NOT NULL --拆分后的字符串 )

SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF

原文:SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF 本来用 Writer 写一篇关于一列多行合并的博客来的,结果快写完了时候,在一个插入代码时候,崩了,重新打开,居然连草稿都没有--哎,我也是无语了-- 于是没有心情再写,直接发一下代码,再顺便留几个其他博文的链接 1.FOR XML PATH http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html 2.STUFF http://www

SQL Server实现将特定字符串拆分并进行插入操作的方法

本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI

Sql Server实现自定义拆分字符串函数Split()

经常我们要用到批量操作时都会用到字符串的拆分,郁闷的是SQL Server中却没有自带Split函数,所以我们只能自己动手来解决一下.为了减少和数据库的通讯次数,我们都会利用这种方法来实现批量操作.当然有时我们会借助Execute这个方法来实现,利用这个方法有一个不好的地方就是她只认识以","分割的字符串,在传IDs批量操作的时候还是可以达到目的,但是经常我们要用到更复杂的操作时我们就需要自己动手来完成了...... 1.当我们需要传入很长的字符串是我们可以借助NText和Text类型

IP连接SQL SERVER失败(配置为字符串失败)图文解决方法_MsSql

使用IP连接SQL SERVER或者配置为连接字符串失败 情景一:当在webconfig文件中使用 <add key="ConnectionString" value="server=127.0.0.1;database=数据库名;uid=sa;pwd=1"/>来连接数据库中,发现登陆时候无法正常登陆,出现了一大堆错误: 情景二: 或者当在连接SQL SERVER时候输入IP如下:   提示无法连接或者连接错误.   解决方案: 第一步:检查TCP/IP

IP连接SQL SERVER失败(配置为字符串失败)图文解决方法

使用IP连接SQL SERVER或者配置为连接字符串失败 情景一:当在webconfig文件中使用 <add key="ConnectionString" value="server=127.0.0.1;database=数据库名;uid=sa;pwd=1"/>来连接数据库中,发现登陆时候无法正常登陆,出现了一大堆错误: 情景二: 或者当在连接SQL SERVER时候输入IP如下: 提示无法连接或者连接错误. 解决方案: 第一步:检查TCP/IP协议有没

MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下:update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据类

MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法_MsSql

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下: update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据