Я пытаюсь перенести некоторые запросы Oracle в T-SQL из-за планируемой миграции. Следующий запрос ORACLE должен отображать общее количество посещений (просмотров) веб-платформы, которую я использую.
Очевидно, TO_CHAR
и TO_DATE
не поддерживаются в SQL, как в Oracle. Вместо этого я попытался использовать функции CONVERT
и CAST
.
SELECT TO_CHAR (VISIT_TIME,'YYYY.MM') as mydate, count (*) as visits
FROM AO_05769A_VISIT_ENTITY
INNER JOIN user_mapping ON AO_05769A_VISIT_ENTITY.USER_KEY = user_mapping.USER_KEY
WHERE lower_username not in ('admin')
AND VISIT_TIME > to_date( '30/04/2018 23-50-00', 'DD/MM/YYYY HH24-MI-SS' )
GROUP BY TO_CHAR (VISIT_TIME,'YYYY.MM')
ORDER BY TO_CHAR (VISIT_TIME,'YYYY.MM')
Вывод должен представлять собой таблицу с месяцами (YYYY.MM
формат) и общим количеством просмотров за месяц. Запрос oracle работает как талисман, но я не могу управлять запросом TSQL, чтобы правильно обеспечить желаемый результат. Столбец VISIT_TIME
хранит дату / время в следующем формате: 2018-04-19 17:45:24.820
, а USER_KEY
сопоставляется с таблицей user_mapping для получения фактического имени пользователя.