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
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
あなたがあなたの期待出力が(SELECT column1 FROM db) UNION (SELECT columns2 FROM db)
で使用することができますすべてがクリアではない...
最初のインターバルは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値 - 複数 - 列 - 値 –