亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中怎么實現時間進位?

發布時間:2020-05-21 22:29:43 來源:億速云 閱讀:270 作者:鴿子 欄目:MySQL數據庫

mysql更新到5.6.4 之后 , 新增了一個叫factional seconds的特性 , 可以記錄時間的毫秒值。但是目前的數據庫是不記錄毫秒值的 , 所以會產生一個java中時間的Milliseconds超過500就會四舍五入的問題。

下面是一個例子,演示了時間是如何進位的。首先創建一張表:

CREATE TABLE test_time (
 time_sec   datetime,
 time_millis datetime(3),
 time_micros datetime(6),
 stamp_sec  timestamp,
 stamp_millis timestamp(3),
 stamp_micros timestamp(6)
);

有的小伙伴可能不知道 datetime 和 timestamp 定義時是可以帶精度的,精度值為 0~6,表示保留幾位小數,默認值為 0。顯然保留 3 位可看作精度為毫秒,保留 6 位可看作精度為微秒。

然后我們插入一條記錄:

INSERT INTO test_time
( time_sec, time_millis, time_micros,
 stamp_sec, stamp_millis, stamp_micros )
VALUES(
 '2019-11-30 12:34:56.987654',
 '2019-11-30 12:34:56.987654',
 '2019-11-30 12:34:56.987654',
 '2019-11-30 12:34:56.987654',
 '2019-11-30 12:34:56.987654',
 '2019-11-30 12:34:56.987654'
);

然后再做一次 select * from test_time 查詢就能看到下面的結果:

time_sec             |time_millis            |time_micros               |stamp_sec            |stamp_millis           |stamp_micros              |
---------------------|-----------------------|--------------------------|---------------------|-----------------------|--------------------------|
2019-11-30 12:34:57.0|2019-11-30 12:34:56.988|2019-11-30 12:34:56.987654|2019-11-30 12:34:57.0|2019-11-30 12:34:56.988|2019-11-30 12:34:56.987654|

可以看到 time_sec 和 stamp_sec 在數據庫中的秒值都被進位了,time_millis 和 stamp_millis 的毫秒值都被進位了。

由此可見,要避免這樣的誤差,有兩個手段:

1、定義字段的時候使用 datetime(6) 或 timestamp(6);

2、定義字段時不帶精度,但在將時間存入數據庫之前,要將毫秒值截取掉。

以上就是關于mysql中的時間進位問題的講解的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴安盟| 平泉县| 清徐县| 海林市| 德令哈市| 来安县| 左贡县| 屏南县| 勐海县| 永清县| 徐汇区| 陆川县| 阿拉尔市| 盐城市| 霞浦县| 广昌县| 明水县| 磐安县| 长治市| 石泉县| 高州市| 星子县| 黎城县| 台湾省| 新密市| 阿巴嘎旗| 永靖县| 上犹县| 青海省| 孝昌县| 黄陵县| 东至县| 巴南区| 桓台县| 钦州市| 同心县| 和林格尔县| 阜南县| 监利县| 儋州市| 衡阳县|