![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 陳振龍 ![]()
![]() |
以下資料庫 日期天數為使用DATEDIFF(DAY,開始時間,結束時間) 求得 主要是想將A.資料庫格式轉換為B格式 日期與開始時間的日期+1 至結束時間 該怎麼下語法可以做到 B 格式呢? A.資料庫格式 日期 設備 開始時間 結束時間 日期天數 2019/9/3 A 2019/9/3 2019/9/4 1 2019/9/23 B 2019/9/23 2019/10/4 11 2019/10/4 C 2019/10/4 2019/10/5 1 2019/10/7 D 2019/10/7 2019/11/7 31 B.轉換成以下格式 日期 設備 開始時間 結束時間 日期天數 2019/9/3 A 2019/9/3 2019/9/4 1 2019/9/4 A 2019/9/4 2019/9/4 1 2019/9/23 B 2019/9/23 2019/10/4 11 2019/9/24 B 2019/9/24 2019/10/4 11 2019/9/25 B 2019/9/25 2019/10/4 11 2019/9/26 B 2019/9/26 2019/10/4 11 2019/9/27 B 2019/9/27 2019/10/4 11 2019/9/28 B 2019/9/28 2019/10/4 11 2019/9/29 B 2019/9/29 2019/10/4 11 2019/9/30 B 2019/9/30 2019/10/4 11 2019/10/1 B 2019/10/1 2019/10/4 11 2019/10/2 B 2019/10/2 2019/10/4 11 2019/10/3 B 2019/10/3 2019/10/4 11 2019/10/4 B 2019/10/4 2019/10/4 11 2019/10/4 C 2019/10/4 2019/10/5 1 2019/10/5 C 2019/10/5 2019/10/5 1
搜尋相關Tags的文章:
[ SQL INSER 相同資料日期+1 ] ,
本篇文章發表於2019-10-15 17:08 |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓 |
alter procedure proc_zz
as create table #k_test (日期 datetime, 設備 nvarchar(50) null, 開始時間 datetime, 結束時間 datetime, 日期天數 int) insert #k_test select '2019/9/3','A','2019/9/3','2019/9/4',1 insert #k_test select '2019/9/23','B','2019/9/23','2019/10/4',11 insert #k_test select '2019/10/4','C','2019/10/4','2019/10/5',1 insert #k_test select '2019/10/7','D','2019/10/7','2019/11/7',31 select * into #temp from #k_test DECLARE @設備 NVARCHAR(100) DECLARE db_cursor CURSOR FOR SELECT 設備 from #temp OPEN db_cursor FETCH NEXT FROM db_cursor INTO @設備 WHILE @@FETCH_STATUS = 0 BEGIN declare @i int= 1 WHILE @i<= (select 日期天數 from #temp where 設備=@設備) BEGIN insert #k_test select 日期,設備,開始時間+@i,結束時間,日期天數 from #temp where 設備=@設備 SET @i = @i + 1 END FETCH NEXT FROM db_cursor INTO @設備 END CLOSE db_cursor DEALLOCATE db_cursor select * from #k_test order by 設備,開始時間
本篇文章回覆於2019-11-26 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |