qq_25250689
2019-01-11 02:46
采纳率: 50%
浏览 5.1k

sql查询是否包含字符串

如何查询匹配如下的字段值(字符串类型)
能同时查询到: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')

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • qq_25250689 2019-01-11 11:23
    已采纳

    select test,PATINDEX('%5@1%', 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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
查看更多回答(4条)

相关推荐 更多相似问题