Sql server 是否使用java中的日历对象作为SQL Server日期列的参数?

Sql server 是否使用java中的日历对象作为SQL Server日期列的参数?,sql-server,oracle,Sql Server,Oracle,我有一个项目需要同时在Oracle和SQL Server上工作。它目前在Oracle上运行,我的工作是使查询与Oracle和SQL Server兼容 Oracle数据库有一个表,表中有一个名为study\u date的列,该列具有date类型。因此,在Java代码中,我创建如下参数: MapSqlParameterSource parameters = new MapSqlParameterSource(); Calendar calendar = new GregorianCalendar(T

我有一个项目需要同时在Oracle和SQL Server上工作。它目前在Oracle上运行,我的工作是使查询与Oracle和SQL Server兼容

Oracle数据库有一个表,表中有一个名为
study\u date
的列,该列具有
date
类型。因此,在Java代码中,我创建如下参数:

MapSqlParameterSource parameters = new MapSqlParameterSource();
Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("America/New_York"));
calendar.setTimeInMillis(event.getTime()); //returns long value of time
parameters.addValue("study_date", calendar);
...
...
return parameters;
这样可以在给定的时间内插入一行。但是,如果我使用SQL Server运行相同的代码,它就不起作用。我发现SQL Server中有许多日期类型,但在java中没有一种类型适用于
Calendar
对象

我可以通过使用我创建的
Calendar
对象创建
Timestamp
来插入一行。它可以工作,但这意味着我必须为Oracle和SQL Server编写两组不同的代码。我可以,但我正在寻找处理这件事的最佳方法