2010-08-20 46 views
0

我嘗試生成一個觸發器,在觸發器語句中,我必須設置一個十進制(17,3)類型的列,其中包含實際時間戳記或unix時間戳記的秒數,但找不到解決方案。如何在MySQL中將時間戳記存儲爲十進制(17,3)?

+0

我可以問你 - 爲什麼?爲什麼你需要在十進制(17,3)字段類型中存儲一個4字節的整數? – 2010-08-20 09:04:18

+0

遠程主機還發送必須存儲在此字段中的時間戳,但遠程主機的時間戳帶有毫秒。 MySql類型的日期或時間戳記不能存儲毫秒,這就是爲什麼我使用十進制(17,3)。 – Alex 2010-08-20 11:31:00

回答

0

我發現溶液

指定MySQL表的數據類型爲十進制(17,3)冬眠圖小數到Java類型爲BigDecimal,並且用一個簡單的功能:

public static Date bigDec2Date(BigDecimal tsp) { 
    Calendar cal = Calendar.getInstance(); 
    cal.setTimeInMillis(tsp.longValue()); 
    return cal.getTime(); 
} 
0

//試試這個(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:- 
相關問題