当前位置:首页 » 编程语言 » 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-09-23 20:07:06 浏览:111
云服务器收租 发布:2025-09-23 20:03:56 浏览:7
字符串在内存中存储 发布:2025-09-23 20:03:13 浏览:718
任务系统源码 发布:2025-09-23 20:02:59 浏览:760
防止android反编译 发布:2025-09-23 19:56:29 浏览:213
安卓易柚系统哪个好 发布:2025-09-23 19:54:57 浏览:470
妄想山海刷级脚本辅助免费 发布:2025-09-23 19:54:00 浏览:563
php数组获取 发布:2025-09-23 19:35:08 浏览:625
如何开服务器电脑 发布:2025-09-23 18:50:02 浏览:777
服务器接口如何升级 发布:2025-09-23 18:45:00 浏览:422