2017-06-21 4 views
0

例:1行のデータを複数の行に分割する方法は?

INPUT:

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 
+2

どのDBMSを使用しますか? – Jens

+0

残りのデータの計算方法を明確にしてください – Dimgold

+0

この投稿あなたを詳細に説明し、将来の使用のために関数を作成することを好むhttps://stackoverflow.com/questions/5123585/how-to-split-a-single-column値 - 複数 - 列 - 値 –

答えて

-1

あなたがあなたの期待出力が(SELECT column1 FROM db) UNION (SELECT columns2 FROM db)

1

で使用することができますすべてがクリアではない...

最初のインターバルは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 ...

関連する問題