当前位置:首页 » 编程语言 » 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-07-15 01:53:23 浏览:229
算法与程序设计vb 发布:2025-07-15 01:50:39 浏览:719
什么是测试脚本 发布:2025-07-15 01:44:58 浏览:514
商汤科技存储负责人 发布:2025-07-15 01:24:21 浏览:252
文件夹如何批量替换文件名 发布:2025-07-15 01:19:15 浏览:68
ftp上传网页 发布:2025-07-15 01:13:09 浏览:182
音乐文件夹图标 发布:2025-07-15 01:03:41 浏览:495
安卓机怎么反向充电 发布:2025-07-15 01:03:40 浏览:501
电脑使用华为云服务器 发布:2025-07-15 00:48:10 浏览:534
中考应该如何排解压力 发布:2025-07-15 00:17:54 浏览:363