当前位置:首页 » 编程语言 » sql数组查询

sql数组查询

发布时间: 2022-11-03 23:12:15

❶ 在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查询数组中的条件查询

将数组分隔, and or 查询

这个是我之前写的一个数组查询的,你可以看下

$where="";

$jd_name=$_POST['jdname'];

if($jd_name){

$where=$where." and (title like '%".$jd_name."%')";

}

$jgqj=$_POST['jgqj'];

if($jgqj){

$str = $jgqj;

$arr = explode(",",$str);

$len=count($arr);

if($len=="1"){

foreach($arr as $u){

$strarr = explode("_",$u);

$tj=" price between ".$strarr[0]." and ".$strarr[1]." ";

}
}else{
foreach($arr as $u){
$strarr = explode("_",$u);
$tj=$tj." price between ".$strarr[0]." and ".$strarr[1]." or ";
}

}

$ntj=rtrim($tj, "or ");

$where=$where." and (".$ntj.")";

}

$pj=$_POST['pj'];

if($pj){

$str1=$pj;

$arr1=explode(",",$str1);

foreach ($arr1 as $k){

$xj=$xj." xingji=".$k." or ";

}
$nxj=rtrim($xj, "or ");

$where=$where." and (".$nxj.")";

}

$jdtype=$_POST['jdtype'];

if($jdtype){

$str2=$jdtype;

$arr2=explode(",",$str2);

foreach ($arr2 as $ke){

$type=$type." jdtype='".$ke."' or ";

}

$ntype=rtrim($type, "or ");

$where=$where." and (".$ntype.")";

}

$ss=$_POST['ss'];

if($ss){

$str3=$ss;

$arr3=explode(",",$str3);

foreach ($arr3 as $key){

$sheshi=$sheshi." sheshi like '%".$key."%' or ";

}

$nsheshi=rtrim($sheshi, "or ");

$where=$where." and (".$nsheshi.")";

}

$pf=$_POST['pf'];

if($pf){

$where=$where.$pf;

}

$zian=$_POST['zian'];

if($zian){

if($zian=="jg"){

$order=" order by price";

}elseif($zian=="xj"){

$order=" order by xingji";

}elseif($zian=="dp"){

$order=" order by id";

}

}
$shunxu=$_POST['shunxu'];

if($shunxu){

if($shunxu=="1"){

$order=$order." asc";

}else{

$order=$order." desc";

}

}

$Text="";

$sql1=$empire->query("select classid from {$dbtbpre}enewsclass where classname='$city'");

❸ SQL查询中IN语句条件为一个数组如何进行查询(ASP提示类型不匹配)

用 SQL语句嵌套的方式就好了。SELECT * FROM person WHERE id IN (SELECT perid FROM fav WHEREsaver="com1")

❹ SQL模糊查询数组问题

假设 tab1中 有 id 及 tags 字段

创建一个临时表,temptab 字段 有 originalID , context

写一个函数 ,
StringToTable
按照 “|”分割

把 tab1 表中所有的记录 分拆掉 例如把字段内容“A|B|C ”分拆成3条记录
分别是 id,A;id,B;id,C

id 字段内容为原“A|B|C ”的id

保存在temptab 中 其中 originalID 字段 为id; context 内容为A .....

select distinct originalID from temptab where context = 'A' or

context = 'C ' or context = 'F' 就能把 tab1 中的所符合记录的ID 全找出来了

================================================

我是菜鸟 没理解1楼写的意思,能解释一下吗?

❺ 如何在SQL查询语句中查询部分数组匹配

select * from a where charindex(‘2’,id)>0 or charindex(‘33’,id)>0 or charindex(‘11’,id)>0
or charindex(‘14’,id)>0 or charindex(‘15’,id)>0 or charindex(‘22’,id)>0

这样子。应该是没问题的

❻ sql语句查询匹配数组怎么写

伪代码
str = "1|2|3|4"

str = str.Replace("|", ",");

string sql = "select * FROM T where [abc] in (" + str + ")";

就是select * from t where abc in (1,2,3,4)

❼ 在sql中如何按数组来查询,比如我在表中查询含有“a"的有三个,如何根据这三个“a”查询其它的

不太明白你的意思,你是不是这样的,
比如在学生表中根据某个条件查询出3个学生的学号(001,002,003),,现在你想使用这3个学号作为条件继续查询别的结果?
比如在另外的成绩表中,需要查看上面3个学生的成绩?
那么:select *from 成绩表名称 where SID in(
select *from 学生表名 where ......你的条件
)
in 表示集合,=表示一条记录的匹配

❽ 如何数组字段里面进行查询,sql语句该怎么样写

数组形式? 难道是 字段 a "1,2,3,4,5,6,7,8,9,10,13" 如果是这样 select * from table where ','+a like '%,7,%'

热点内容
如何设置健康码快捷方式vivo安卓 发布:2025-01-10 21:39:52 浏览:500
安卓不兼容怎么解决 发布:2025-01-10 21:37:02 浏览:29
linux字体大小 发布:2025-01-10 21:36:21 浏览:492
安卓手机的音量在哪里调 发布:2025-01-10 21:32:11 浏览:613
路由器怎么设置登录密码怎么设置密码 发布:2025-01-10 21:11:12 浏览:893
营运车解压 发布:2025-01-10 21:11:01 浏览:932
安卓是哪里出产 发布:2025-01-10 21:10:23 浏览:953
本科来了安卓版叫什么 发布:2025-01-10 21:08:43 浏览:649
南京c语言 发布:2025-01-10 20:55:08 浏览:466
如何excel设置密码保护 发布:2025-01-10 20:50:07 浏览:994