SQL語句例遍迴圈獲各行各列資料

2021-09-11 04:32:32 字數 2252 閱讀 3269

目的:解決在sql資料庫計畫作業自動指定資料的統計

過程:查詢sql語句,一步一步解決

結果:達到目標預期

///sql**

declare @moneypay float--宣告變數現金支付

declare @wxpay float

declare @zfbpay float

declare @allpay float

declare @pritnumber int

declare @ordernumber int

declare @couponnumber int

declare @storeid_id int

--查詢出當天數總訂單 對年月日的對比

select * from allorder where datename(yyyy,datecreated)=datename(yyyy,getdate())and datename(mm,datecreated)=datename(mm,getdate())and datename(dd,datecreated)=(datename(dd,getdate())-2)   

-- dateadd(day,-2,getdate()) --在當前的時間減去幾天 如getdate()=2019-2-20 17:28,dateadd(day,-2,getdate())=2019-2-18 17:28

--迴圈每個allorder

declare @i int

set @i=1

while @i<5

begin

set @i=@i+1

end 

select @i

--獲得查詢出的資料個數

declare @getcount int

select @getcount =count(1) from allorder where datename(yyyy,datecreated)=datename(yyyy,getdate())and datename(mm,datecreated)=datename(mm,getdate())and datename(dd,datecreated)=(datename(dd,getdate())-1)

--迴圈獲取的資料

declare @totalcount int

declare @rownum int

select @totalcount = count(1) from allorder where datename(yyyy,datecreated)=datename(yyyy,getdate())and datename(mm,datecreated)=datename(mm,getdate())and datename(dd,datecreated)=(datename(dd,getdate())-1)

set @rownum = 1

while @rownum <= @totalcount

begin

declare @id int

declare @remarks nvarchar

--查詢指定的行的資料

select top (select @rownum) @id=[id], @remarks=[remarks] from allorder where datename(yyyy,datecreated)=datename(yyyy,getdate())and datename(mm,datecreated)=datename(mm,getdate())and datename(dd,datecreated)=(datename(dd,getdate())-1)

set @rownum = @rownum + 1

endselect @id

--插入資料到daydata

insert into [daydata](guid,isdeleted,remarks,datecreated,daytime,monthtime,yeartime,moneypay,wxpay,zfbpay,allpay,pritnumber,ordernumber,couponnumber,storeid_id)

values (newid(),'true','資料庫生成當天資料',getdate(),datename(dd,getdate()),datename(mm,getdate()),datename(yyyy,getdate()),@moneypay,@wxpay,@zfbpay,@allpay,@pritnumber,@ordernumber,@couponnumber,@storeid_id)

//利用上面的拆分動作,最後結合使用達到統計資料插入。

SQL語句各子句的執行順序

乙個sql會包含很多個子句,在寫sql時,理解sql個部分子句執行的優先順序非常重要,否則可能會導致簡單的sql變成多個巢狀的sql,更可能導致錯誤的返回結果。下面通過乙個例子說明各子句的優先順序 select a,b,count sum c over from t where t.d 1 star...

Oracle動態游標實現動態SQL迴圈遍歷

動態游標可以遍歷動態的表,格式 type 游標型別 is ref cursor 定義乙個動態游標 游標名 游標型別 如果查詢的表的資料不同的,動態變化的,這時候可以用動態游標。需要注意的是,動態游標的定義,在普通儲存過程中 需要放在 is 後面的第一行。動態游標通過 open 游標 for 字串,形...

SQL迴圈語句示例 1

在 sqlserver 資料庫中,迴圈語句是最常用的語句之一,下面就將為您分析sql迴圈語句的例子,供您參考,希望對您有所啟迪。sql迴圈語句 declare i int set i 1 while i 30 begin insert into test userid values i set i ...