0
輸入:
column1 column2
10:00am 11:00am
我必須得到像下面的輸出
OUTPUT:
column1 column2
10:00am 10:15am
10:16am 10:20am
10:21am 10:30am
10:31am 10:40am
10:41am 10:50am
10:51am 11:00am
輸入:
column1 column2
10:00am 11:00am
我必須得到像下面的輸出
OUTPUT:
column1 column2
10:00am 10:15am
10:16am 10:20am
10:21am 10:30am
10:31am 10:40am
10:41am 10:50am
10:51am 11:00am
您可以使用(SELECT column1 FROM db) UNION (SELECT columns2 FROM db)
您的預計產量並非全部清楚...
你的第一個intervall是15分鐘,其餘的是10分鐘。
,您可以嘗試這樣的(這是嚴格 - 10分鐘SQL Server語法):
DECLARE @Start TIME='10:00';
DECLARE @End TIME='11:30';
DECLARE @minuteIncrement INT=10;
WITH Tally AS
(
SELECT TOP ((DATEDIFF(MINUTE,CAST(@Start AS DATETIME),CAST(@End AS DATETIME)))/@minuteIncrement) (ROW_NUMBER() OVER(ORDER BY (SELECT NULL))-1) * @minuteIncrement AS Nr
FROM master..spt_values
)
SELECT CAST(DATEADD(MINUTE,Nr+1,@Start) AS TIME) AS column1
,CAST(DATEADD(MINUTE,[email protected],@Start) AS TIME) AS column2
FROM Tally;
如果你真的需要第一INTERVALL不同,你必須與第一開始計算值嚴格intervall並添加第一步與UNION ALL
...
你使用哪些DBMS? – Jens
請說明如何計算其餘數據 – Dimgold
本文詳細解釋你,更願意爲將來的使用創建一個函數https://stackoverflow.com/questions/5123585/how-to-split-a-single-column -values-to-multiple-column-values –