У меня есть запрос, как показано ниже:
select cast(DATEADD(day,-1,DATEADD(hour,1, INTERVAL_PERIOD_TIMESTAMP)) as date) as 'TradeDate'
, 'P' as 'Currency'
, cast(DATEADD(hour,1, INTERVAL_PERIOD_TIMESTAMP) as date) as 'DeliveryDate'
, cast(INTERVAL_PERIOD_TIMESTAMP as time) as 'DeliveryTime'
, cast(CLEARED_DAM_PRICE as decimal(16,2)) as 'SMP'
, 0 as 'TimeChange'
, GETDATE() as 'DateAdded'
from DAM_RESULT
Это возвращает список результатов следующим образом:
2018-08-11 P 2018-08-12 23:00:00.0000000 37.12 0 2018-09-26 10:52:27.157
2018-08-11 P 2018-08-12 00:00:00.0000000 37.12 0 2018-09-26 10:52:27.157
2018-08-11 P 2018-08-12 01:00:00.0000000 37.12 0 2018-09-26 10:52:27.157
2018-08-11 P 2018-08-12 02:00:00.0000000 35.86 0 2018-09-26 10:52:27.157
2018-08-11 P 2018-08-12 03:00:00.0000000 35.79 0 2018-09-26 10:52:27.157
2018-08-11 P 2018-08-12 04:00:00.0000000 37.12 0 2018-09-26 10:52:27.157
В настоящее время я получаю гранулярность в течение одного часа, нопредыдущая модель данных, с которой я пытаюсь интегрироваться, основана на получасовой детализации.Приведенные ниже значения показывают, что 23:00 часов - это 37,12, как я могу изменить свой запрос, чтобы добавить еще одну строку для 23:30 часов по той же цене?
Есть ли лучший вариант, чем сделать это, добавив 30 минут ко времени и объединяя две таблицы, которые выводятся?