0
我嘗試生成一個觸發器,在觸發器語句中,我必須設置一個十進制(17,3)類型的列,其中包含實際時間戳記或unix時間戳記的秒數,但找不到解決方案。如何在MySQL中將時間戳記存儲爲十進制(17,3)?
我嘗試生成一個觸發器,在觸發器語句中,我必須設置一個十進制(17,3)類型的列,其中包含實際時間戳記或unix時間戳記的秒數,但找不到解決方案。如何在MySQL中將時間戳記存儲爲十進制(17,3)?
我發現溶液
指定MySQL表的數據類型爲十進制(17,3)冬眠圖小數到Java類型爲BigDecimal,並且用一個簡單的功能:
public static Date bigDec2Date(BigDecimal tsp) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(tsp.longValue());
return cal.getTime();
}
//試試這個(Java代碼的)
Timestamp timestamp = new Timestamp(System.currentTimeMillis());// current time
String decimalTime= new SimpleDateFormat("yyyyMMddhhmmss.SSS").format(timestamp);
System.err.println(decimalTime);
//在mysql中
SELECT timestamp('<decimalTime>');// eg:-
我可以問你 - 爲什麼?爲什麼你需要在十進制(17,3)字段類型中存儲一個4字節的整數? – 2010-08-20 09:04:18
遠程主機還發送必須存儲在此字段中的時間戳,但遠程主機的時間戳帶有毫秒。 MySql類型的日期或時間戳記不能存儲毫秒,這就是爲什麼我使用十進制(17,3)。 – Alex 2010-08-20 11:31:00