#filter #view #data-modeling #hana
#Фильтр #Вид #моделирование данных #hana
Вопрос:
В SAP HANA я могу использовать фильтры в качестве выражения SQL или хранилища столбцов в представлении моделирования (например, в представлении вычислений).
Я пытаюсь преобразовать временную строку типа 08:00:00 во временную метку, которая всегда должна принимать сегодняшнюю дату.
Единственная маршрутизация hana, которую я нашел до сих пор, — это функция TO_TIMESTAMP( [, ]).
Есть ли какая-либо встроенная функция для моего запроса или как еще вы могли бы решить эту проблему?
Спасибо и БР.
РЕДАКТИРОВАТЬ: вот как я пытаюсь объединить сегодняшнюю дату и введенное время во временную метку:
longdate(строка(дата(сейчас())) строка(‘ ‘) строка (время($$P_StartShift$$)) строка (‘.123456’))
Ответ №1:
У HANA нет четкого конструктивного API для типов данных datetime. Итак, это своего рода обходной путь.
Идея здесь в том, что у вас есть время дня, предоставленное в качестве пользовательского ввода.
С помощью этого мы можем вычислить секунды, прошедшие с полуночи, которые, в свою очередь, могут быть добавлены к current_date.
В HANA SQL это выглядит так:
select
to_time ('13:01', 'HH24:MI') user_input_time
, current_date
, seconds_between ('00:00'
, to_time ('13:01', 'HH24:MI')) secs_since_midnight
, add_seconds (current_date
, seconds_between ('00:00'
, to_time ('13:01', 'HH24:MI')
)
) current_date_user_time
from
dummy;
/*
USER_INPUT_TIME CURRENT_DATE SECS_SINCE_MIDNIGHT CURRENT_DATE_USER_TIME
1:01:00 PM 25/08/2020 46,860 25/08/2020 1:01:00.0 PM
*/