当前位置:首页 » 编程语言 » sql数据库数组

sql数据库数组

发布时间: 2025-04-10 11:16:39

① 在sql中如何从数组中获取值再进行查询

----首先定义一个split函数,其作用是将字符串拆分成表
CREATEFUNCTION[fn_split]
(@SourceSqlvarchar(8000),@StrSepratevarchar(10))
RETURNS@temptable
(
[n]intNULL,
[a]varchar(100)NULL
)
AS
BEGIN
declare@iint,@nint;
set@n=0;
set@SourceSql=rtrim(ltrim(@SourceSql));
set@i=charindex(@StrSeprate,@SourceSql);
while(@i>=1)
begin
set@n=@n+1;
insert@temp([n],[a])values(@n,left(@SourceSql,@i-1));
set@SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i);
set@i=charindex(@StrSeprate,@SourceSql);
end
if(@SourceSql<>'')
begin
set@n=@n+1;
insert@temp([n],[a])values(@n,@SourceSql);
end
return
END
GO

--接下来利用这个函数将数组转化成表,查出A的对应值
declare@Cvarchar(100),@Dvarchar(100);
set@C='a1,a2,a3,a4,a5,a6';
set@D='b1,b2,b3,b4,b5,b6';
declare@Avarchar(10),@Bvarchar(10);
set@A='a4';
select@B=t2.afromfn_split(@C,',')t1,fn_split(@D,',')t2wheret1.n=t2.nandt1.a=@A;
select@B;
--这里将得到@B=b4

--接下来就可以使用@B了
select TOP 7 * from Data_Content where title = @B order BY ID DESC

② sql server 查询表 in一个数组

如果是一维数组:$nams=implode(',', ArrarLIst);
select * from table1 where name in ($names);

//注意字符查询需要前后带引号,数字不用

如果是多维数组:得遍历ArrarLIst数组,取出相应的name再串联起来

热点内容
编程猫尼克 发布:2025-04-29 10:32:31 浏览:461
特价云服务器在线选购 发布:2025-04-29 10:30:42 浏览:612
如何查看笔记本电脑的配置内存 发布:2025-04-29 10:29:19 浏览:826
王刚访问 发布:2025-04-29 10:28:32 浏览:596
facebook如何注册安卓账号 发布:2025-04-29 10:22:45 浏览:174
没有文件夹重定向 发布:2025-04-29 10:09:24 浏览:596
松下压缩机厂 发布:2025-04-29 10:05:07 浏览:631
iar编译ram超限 发布:2025-04-29 09:53:10 浏览:946
存储芯片龙头 发布:2025-04-29 09:26:11 浏览:276
数据库线 发布:2025-04-29 09:19:44 浏览:75