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)