【发布时间】:2021-04-21 11:06:13
【问题描述】:
我正在尝试使用 SQL SERVER 中的 GregorianCalendar 类从 Java 存储日期时间,但它只存储日期。我需要在 SQL SERVER 中存储日期和时间。
这是我实现的代码
CallableStatement asignarTurno=conexionBBDD
.getConexionBBDD().prepareCall("{call asignarTurno(?,?,?,?,?,?)}");
//GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
GregorianCalendar h=new GregorianCalendar(2000, 1, 1, 8, 30,0);
java.sql.Date date = new java.sql.Date(h.getTimeInMillis());
asignarTurno.setInt(1,1);
asignarTurno.setDate(2,date);
asignarTurno.setDate(3,date);
asignarTurno.setDate(4,date);
asignarTurno.setString(5, "000");
asignarTurno.setString(6,"0001");
asignarTurno.execute();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
【问题讨论】:
-
列的数据类型是什么?
-
列的数据类型是日期
-
将详细信息发布为对问题的编辑,而不是评论。
-
@AriPaez 更改为日期时间。 docs.microsoft.com/en-us/sql/t-sql/data-types/…数据类型date只能存储日期部分
-
顺便说一句。不要再使用过时的 Calendar-API。使用现代的
java.time-API
标签: java sql sql-server