0

私はこのような結果を持っています (年、DayOfYear、時間順):

Year    DayOfYear   Hour
2012    266         13:00
2012    266         13:15
2012    266         13:30
2012    266         15:15
2012    266         15:30
2012    266         16:00

次のように、15分の 1 時間ごとに行の順序を取得する必要があります。

Year    DayOfYear   Hour
2012    266         13:00
2012    266         16:00
2012    266         13:15
2012    266         15:15
2012    266         13:30
2012    266         15:30
4

3 に答える 3

3

これは 0、15、30、または 45 になるため、基本的に分単位で注文できます。

ORDER BY Year, DayOfYear, DATEPART(MINUTE, Hour), Hour;
于 2012-09-20T17:29:45.967 に答える
1

DATEPART(mi, CONVERT(DATETIME, hour))SELECT リストで使用して、これを並べ替えることができます。

于 2012-09-20T17:31:39.143 に答える
0

次の方法で 15 分間隔に変換できます。

datediff(minute, 0, Hour) / 15 % 4

またはクエリで:

select  *
,       datediff(minute, 0, Hour) / 15 % 4 as Quarter
from    YourTable
order by
        datediff(minute, 0, Hour) / 15 % 4

これは以下を出力します:

Year        DayOfYear   Hour             Quarter
----------- ----------- ---------------- -----------
2012        266         13:00:00         0
2012        266         16:00:00         0
2012        266         13:15:00         1
2012        266         15:15:00         1
2012        266         15:30:00         2
2012        266         13:30:00         2

(6 row(s) affected)
于 2012-09-20T17:39:19.350 に答える