Написать общий SQL для SQL Server и Oracle для отображения дат - PullRequest
0 голосов
/ 03 мая 2019

Мне нужно запросить SQL Server и Oracle DB для одного и того же проекта.СУБД зависит от клиента, но структура точно такая же.

Например, я хочу выводить даты без части «00:00:00», что является тяжелым и бесполезным при длинном выводе.

В настоящее время мне нужно каждый раз редактировать запрос:

SELECT col1, dated_requested_without_time, col3, col4, col5, *
FROM table
WHERE
    date_requested = CONVERT(varchar(10), GETDATE(), 120)
--  date_requested = TRUNC(SYSDATE)

Есть ли умный способ написать его так, чтобы он выполнялся в обеих средах без какого-либо редактирования?

Цель состоит в том, чтобы показать и сравнить с сегодняшней датой (ГГГГ-ММ-ДД) ...

Мне удалось использовать конкатенации, подобные этой

CONCAT(CONCAT(CONCAT(col1, ' '), col2), '.')

вместо

col1 + ' ' + col2 + '.'      -- For SQL Server.
col1 || ' ' || col2 || '.'   -- For Oracle.

например.Надеемся, что то же самое для запроса даты выше ...

Любая успешная помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 03 мая 2019

Как насчет:

select cast(current_timestamp as date)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...