![](/img/trans.png)
[英]How I can get table definition in SQL SERVER 2008 R2 using SQL query?
[英]How to insert string type timestampto in to sql server 2008 r2 table
我正在嘗試將Excel文件中的記錄插入數據庫表中。 excel文件包含的時間戳為“ IST 05/5/13 03:47 PM”。 我想在db中將時間戳記保存為datetime,以便以后我可以對datetime約束進行查詢。 在Java中,我正在使用准備好的語句。 我在表中使用datetime2(7)數據類型。
timeStampt的值= 13/05/10 03:47 PM IST
private void insertToDb(String vh, String timeStamp, String location, double tempReal, double tempFixed) throws ParseException{
conn = DbHandler.getConnection();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy hh:mm a");
java.util.Date utilDate = sdf.parse(timeStamp);
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
String query = "INSERT INTO [DATALOGGER_TEMP_REPORT](vehicle_no,time_stamp,location,temp_real,temp_fixed)values(?,?,?,?,?)";
try {
pstmt= conn.prepareStatement(query);
pstmt.setString(1,vh);
pstmt.setDate(2, sqlDate);//(2, date);
pstmt.setString(3, location );
pstmt.setDouble(4, tempReal);
pstmt.setDouble(5, tempFixed);
pstmt.executeUpdate(); // execute insert statement
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
當前,在數據庫表中的時間戳值存儲為= 2013-10-05 00:00:00.0000000
相反,我希望我的表格將時間戳存儲為IST 05/10/13 03:47 PM
這里的問題取決於您要存儲在sql server db中的列的類型。
參見http://msdn.microsoft.com/en-us/library/ms186724.aspx
如果僅使用SQL Date
類型,則此精度只有一天。
我假設java.util.Date utilDate
正確保存了datetime。
使用java.sql.Timestamp
類型而不是java.sql.Date
嘗試。 這應該是適當的。 它的工作方式與java.sql.Date
相同。
您的代碼將包含:
....
java.sql.Timestamp sqlTS = new.java.sql.Timestamp(utilDate.getTime());
...
pstmt.setTimestamp(2, sqlTS);
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.