Sql 在数据库中以小时和分钟插入日期
这是我用于将日期插入数据库的方法:Sql 在数据库中以小时和分钟插入日期,sql,oracle11g,Sql,Oracle11g,这是我用于将日期插入数据库的方法: public void insertLog(Connection con, UserLogs userLogs) throws SQLException{ PreparedStatement pstmt = null; ResultSet rs= null; String SQL = "insert into logs values(?,to_date(sysdate,'DD/MM/YYYY HH24:MI'))"; try
public void insertLog(Connection con, UserLogs userLogs) throws SQLException{
PreparedStatement pstmt = null;
ResultSet rs= null;
String SQL = "insert into logs values(?,to_date(sysdate,'DD/MM/YYYY HH24:MI'))";
try {
pstmt = con.prepareStatement(SQL);
pstmt.setInt(1, userLogs.getUserId());
rs = pstmt.executeQuery();
} catch (SQLException e) {
System.out.println(e);
}finally{
if(rs!=null){
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
}
}
现在有一个问题。。。它确实成功地插入了它,但当我从日志中选择*时,小时和分钟显示为00:00(使用oracle),因此我猜测我必须使用以下格式更改会话:
alter session set nls_date_format='DD/MM/YYYY HH24:MI';
以便显示屏正常工作。如何在同一个executeQuery中发送后跟插入的sql 问题在于您使用的insert语句
SELECT to_date(sysdate,'DD/MM/YYYY HH24:MI') FROM dual;
返回
9/24/0014
如果你这样做
SELECT sysdate FROM dual;
它会回来的
9/24/2014 14:56:54
没有必要在sysdate上执行to_date,因为它已经包含完整的日期和时间。da f***这在我看来是愚蠢的,误解了lol
to_date(sysdate,…)
的概念是完全无用的sysdate
已经是一个date
无需将其转换为一个。