1. 求sql语句,数组中取值
----首先定义一个split函数,其作用是将字符串拆分成表CREATEFUNCTION[fn_split](@SourceSqlvarchar(8000),@StrSepratevarchar(10))RETURNS@temptable([n]intNULL,[a]varchar(100)NULL)ASBEGINdeclare@iint,@nint;set@n=0;set@SourceSql=rtrim(ltrim(@SourceSql));set@i=charindex(@StrSeprate,@SourceSql);while(@i>=1)beginset@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);endif(@SourceSql<>'')beginset@n=@n+1;insert@temp([n],[a])values(@n,@SourceSql);endreturnENDGO--接下来利用这个函数将数组转化成表,查出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
2. SQL 如何取出数据库中一列的所有值.....
1、首先需要输入名称和密码登陆服务器。
3. asp里sql怎样读出数组的值
T-SQL对字符串的处理能力比较弱,比如要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。 一、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。 Create function Get_StrArrayLength ( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号 ) returns int as begin declare @location int declare @start int declare @length int set @str=ltrim(rtrim(@str)) set @location=charindex(@split,@str) set @length=1 while @location<>0 begin set @start=@location+1 set @location=charindex(@split,@str,@start) set @length=@length+1 end return @length end 调用示例:select dbo.Get_StrArrayLength('78,1,2,3',',') 返回值:4二、按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便 Create function Get_StrArrayStrOfIndex ( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @index int --取第几个元素 ) returns varchar(1024) as begin declare @location int declare @start int declare @next int declare @seed int set @str=ltrim(rtrim(@str)) set @start=1 set @next=1 set @seed=len(@split) set @location=charindex(@split,@str) while @location<>0 and @index>@next begin set @start=@location+@seed set @location=charindex(@split,@str,@start) set @next=@next+1 end if @location =0 select @location =len(@str)+1 --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号. return substring(@str,@start,@location-@start) end 调用示例:select dbo.Get_StrArrayStrOfIndex('8,9,4',',',2) 返回值:9三、结合上边两个函数,象数组一样遍历字符串中的元素 declare @str varchar(50) set @str='1,2,3,4,5' declare @next int set @next=1 while @next<=dbo.Get_StrArrayLength(@str,',') begin print dbo.Get_StrArrayStrOfIndex(@str,',',@next) set @next=@next+1 end
4. 在sql语言中,如何提取出数组中的一段数据。
SQL基于集合的,没有数组
数组可用集合代替,比如一个表
5. sql 数组中取存在项
SELECT * FROM T_TEST WHERE T_FLAG LIKE '%24%'
如果有好几个就这样:
SELECT * FROM T_TEST WHERE T_FLAG LIKE '%24%' AND T_FLAG LIKE '%25%'
我想的比较简单,不知道这样能否满足你
6. 用C#二维数组怎样读取并计算SQL数据库表的值
<p>读数据库的数据你最好别用数组,用队列List或动态数组ArrayList</p>
class
C
{
public
数据类型
A1
{get;set;}
public
数据类型
A2
{get;set;}
public
数据类型
A3
{get;set;}
public
数据类型
A4
{get;set;}
public
数据类型
A5
{get;set;}
public
数据类型
A6
{get;set;}
}
class
CService
//这是操作这张表的类
{
public
List<C>
GetModels(string
sql)//这里是读取数据的sql语句
{
List<C>
CList=new
List<C>();
//获取数据
return
CList;//返回数据
}
}
//得到数据以后
public
void
method()
{
List<C>
CList=new
List<C>();
CService
cs=new
CService();
CList=cs.GetModels("select
*
from
表名")
foreach(var
item
in
CList)//得到数据以后,这里的item就是你的每一行
{
item.A1//这里是列的值
...
item.A6
}
}<p>这样操作比用数组好,因为数据是声明的时候就要明确大小的,而用List就可以动态加入数据</p>
7. 在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
8. mybatis的sql文件怎么通过下标获取对象里数组类型的字段的某个值
<!-- 传递多参数的array参数表的foreach使用 -->
<select id="getStudentAllArray" resultMap="reusltMap_student"
resultType="com.deppon.mybatis.exsiceTest.Student"
parameterType="array">
select * from t_maydel_student where stunum in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
9. sql怎么获得数据库中的字段值
您好,我来为您解答:
不知道你使用的是什么语言,什么环境:
1. 应该是取得查询结果,然后,加到应用程序的缓存中
2. 首先取出Application(CacheName&"_WebSetting"),应该是一个数组,然后取你需要的维数,各种语言不同,(1)代表的也不同,有的1是数组的第一项,有的是0,不管什么语言,只要得到数组,直接根据你的需要取索引数的数组值就可以了
如果我的回答没能帮助您,请继续追问。
10. msSQL中怎样读取数组中的各元素!
SELECT * FROM table WHERE areaID IN (6,11,15)