这样的筛选要如何写语句?

tang688 2019-01-10 10:18:54
我有一字段,保存的是id号的字符串,如:12,45,66
这些个数字是我的另一张表的id,是以一字符串方式保存的。代表这一条记录与那一张表的这些个ID号关联。
我现在比如要筛选出id号是66的相关联记录。要如何写?
select * from 表 where 66 in (ID字段)
提示:将值'12,45,66'转换成数值时出错。

select * from 表 where ID字段 like '%66%'
会把ID号:166、266、366.....都筛选出
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2019-01-10
  • 打赏
  • 举报
回复
这样166这种的就出不来了,注意中英文逗号区分
二月十六 2019-01-10
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([ID字段] nvarchar(36))
Insert #T
select N'12,45,66'UNION
SELECT N'166,266'
Go
--测试数据结束
Select * from #T WHERE CHARINDEX(',66,',','+ID字段+',')>0


zhangyongnihao1 2019-01-10
  • 打赏
  • 举报
回复
我觉的你说表2的这个ID拼成的字符串应规定几位到底几位存到的是你表1中id的不然就乱了,一个ID找出来好几个id,like 太草率了,不应该截取相应位数之后判断。不太成熟,请参考!

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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