SQL查询问题

qq_37400227 2018-08-07 03:08:54
select name from table
我想查name里包含我传入的参数比如a,c
只要name字段里含有a或者含有c的都查出来

a和c只是例子,可能是bcde,是我传入的一个参数
...全文
594 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xbmu3 2018-08-31
  • 打赏
  • 举报
回复
like '%[a,b]%' -- 这样就可以了。
QQ22286188 2018-08-16
  • 打赏
  • 举报
回复
不好意思,我上面那段最后加一个单引号
QQ22286188 2018-08-16
  • 打赏
  • 举报
回复
Select * from 表名 where 字段名 like '%筛选字符%' or 字段名 like '%筛选字符%
四十画 2018-08-15
  • 打赏
  • 举报
回复


SELECT name FROM table WHERE name LIKE '%a%' or  name LIKE '%b%' 
卖水果的net 版主 2018-08-07
  • 打赏
  • 举报
回复
like '%[a,b]%' -- 这样就可以了。
二月十六 版主 2018-08-07
  • 打赏
  • 举报
回复
CREATE FUNCTION dbo.F_Split
(
@SplitString nvarchar(max), --源字符串
@Separator nvarchar(10)=' ' --分隔符号,默认为空格
)
RETURNS @SplitStringsTable TABLE --输出的数据表
(
[id] int identity(1,1),
[value] nvarchar(max)
)
AS
BEGIN
DECLARE @CurrentIndex int;
DECLARE @NextIndex int;
DECLARE @ReturnText nvarchar(max);

SELECT @CurrentIndex=1;
WHILE(@CurrentIndex<=len(@SplitString))
BEGIN
SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);
IF(@NextIndex=0 OR @NextIndex IS NULL)
SELECT @NextIndex=len(@SplitString)+1;
SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);
INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText);
SELECT @CurrentIndex=@NextIndex+1;
END
RETURN;
END
GO
二月十六 版主 2018-08-07
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([name] nvarchar(27))
Insert #T
select N'a,b,c,d' union all
select N'a,e' union all
select N'b,f'
Go
--测试数据结束
DECLARE @str NVARCHAR(100)='a,c'
SELECT
*
FROM
#T
WHERE
EXISTS
(
SELECT
*
FROM
dbo.F_Split(@str, ',')
WHERE
CHARINDEX(',' + value + ',', ',' + name + ',') > 0
);


吉普赛的歌 版主 2018-08-07
  • 打赏
  • 举报
回复
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL
DROP TABLE t
GO
CREATE TABLE t(
[name] VARCHAR(MAX)
)
GO
INSERT INTO t ([name]) VALUES('a,b,c,d');
INSERT INTO t ([name]) VALUES('a,e');
GO
SELECT * FROM t
WHERE EXISTS
(
SELECT 1 FROM (VALUES('a'),('c')) AS L(v)
WHERE ','+ t.[name]+',' LIKE '%,'+L.v+',%'
);
/*
name
a,b,c,d
a,e
*/
shw014 2018-08-07
  • 打赏
  • 举报
回复
select name from tablename where ','+name+',' like '%,a,%' OR  ','+name+',' like '%,c,%'
shw014 2018-08-07
  • 打赏
  • 举报
回复
select name from tablename where ','+name+',' like '%a%' OR  ','+name+',' like '%c%'

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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