Я хотел бы иметь возможность получить текущую дату / время (метку времени) от сервера БД, к которому у меня есть Соединение, независимо от БД. (В идеале я хотел бы что-то, что работает для Oracle, DB2, SQL Server и Postgres).
Просматривая Интернет, я видел ссылки на функцию LOCALTIMESTAMP и NOW () и на CURRENT_TIMESTAMP, но я не видел ясности относительно того, работает ли какой-либо из них действительно совместимым образом в СУБД.
Я готов при необходимости закодировать альтернативы для разных БД, но даже не видел ясности относительно лучшего способа сделать это для отдельных поставщиков БД. И, конечно же, если это нужно сделать по-разному для каждого, должна быть какая-то библиотека Java, которая оборачивает соединения JDBC и делает это?
Помимо выяснения, какую функцию SQL использовать, мне также интересно, существует ли стандартный способ выполнения SQL-запроса, который является просто вызовом функции - некоторые БД, кажется, поддерживают
SELECT fn();
... но Oracle, похоже, требует добавления
...FROM DUAL;
Я знаю, что «стандарт» SQL немного хитроумный, но мне было интересно, сможет ли кто-нибудь, кто обладает большим опытом работы с базами данных, с JDBC и связанными библиотеками, указать мне правильное направление.
спасибо!