【发布时间】:2019-05-11 10:50:11
【问题描述】:
我有一个 java 程序,其中一些 SQL 语句在此方法中声明:
public ObservableList<TSTTimeZoneConversion> retrieveTimeZoneConversions() throws TSTDBException
{
String sql = "";
if (DBConnection.getDbType() == DBConnection.DB_ORACLE)
sql = "SELECT tzc.tzc_id, tzc.tz_id, tzc.offset_to_utc,
to_char( tzc.start_time, 'DD-MM-YYYY HH24:MI' ) start_time,
to_char( tzc.end_time, 'DD-MM-YYYY HH24:MI' ) end_time, tz.tz_code
FROM timezone_conversion tzc, timezone tz WHERE tzc.tz_id = tz.tz_id ORDER BY tzc_id";
else
sql = "SELECT STATEMENT FOR SQL SERVER";
return TSTDB.retrieveDB(sql , TSTDB::TSTTimeZoneConversionMapper);
}
我的问题是,例如,这个DD-MM-YYYY HH24:MI 在 SQL Server 中不存在,我无法弄清楚如何定义带时间的日期。我用FORMAT 尝试过,就像文档中建议的here 一样,但我不知道在这种情况下它是如何工作的。
我的目标是在 else 部分创建一个 SQL Server 查询,这相当于 if 部分中的 oracle 查询。我正在使用 SQL Server 2017。
【问题讨论】:
-
使用
LocalDateTime可能更容易,然后根据需要进行格式化。
标签: java sql sql-server oracle migration