查询匹配的字符串

qq_25250689 2019-01-11 10:05:35
如何查询匹配如下的字段值(字符串类型)
能同时查询到:5@1、5@1#6@2、1@1#5@1
过滤排除:5@12、15@1、

ms sql server表结构数据如下

GO
/****** Object: Table [dbo].[t_test] Script Date: 01/11/2019 02:43:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].t_test NULL
) ON [PRIMARY]
GO
INSERT [dbo].t_test VALUES (N'5@1')
INSERT [dbo].t_test VALUES (N'5@1#6@2')
INSERT [dbo].t_test VALUES (N'1@1#5@1')
INSERT [dbo].t_test VALUES (N'5@12')
INSERT [dbo].t_test VALUES (N'15@1')
...全文
119 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25250689 2019-01-11
  • 打赏
  • 举报
回复
select test from t_test where PATINDEX('%15@1%', test)=0 and PATINDEX('%15@10%', test)=0 and PATINDEX('%15@11%', test)=0 and PATINDEX('%15@12%', test)=0 and PATINDEX('%15@13%', test)=0 and PATINDEX('%15@14%', test)=0 and PATINDEX('%15@15%', test)=0 and PATINDEX('%15@16%', test)=0 and PATINDEX('%15@17%', test)=0 and PATINDEX('%5@10%', test)=0 and PATINDEX('%5@11%', test)=0 and PATINDEX('%5@12%', test)=0 and PATINDEX('%5@13%', test)=0 and PATINDEX('%5@14%', test)=0 and PATINDEX('%5@15%', test)=0 and PATINDEX('%5@16%', test)=0 and PATINDEX('%5@17%', test)=0
qq_25250689 2019-01-11
  • 打赏
  • 举报
回复
我想统计职员一个月1~31号的每天是否都完成了任务标识1~17譬如:1号执行了任务标识3记录在字段为1@3,再在5号执行了任务标识4则保存为1@3#5@4..会存在1@3#5@4#15@4,我想查询5号是否执行了任务标识4时候就会查询到15@4的职员 实际上是我有如图的数据想查询
qq_25250689 2019-01-11
  • 打赏
  • 举报
回复
请大家帮我想规则
二月十六 2019-01-11
  • 打赏
  • 举报
回复
匹配规则是什么,还是楼主给的结果让大家想规则?
qq_41327902 2019-01-11
  • 打赏
  • 举报
回复
找到一个更简便的方法。。
在原列左右加#,
select *from 表 where 列 like “#1@3#”
qq_41327902 2019-01-11
  • 打赏
  • 举报
回复
先拆列,写入临时表,再用完全匹配去找

22,302

社区成员

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

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