91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

高陵县| 博爱县| 泽普县| 浮山县| 汝阳县| 盈江县| 额敏县| 高雄市| 长顺县| 吉安市| 汝阳县| 行唐县| 广安市| 五指山市| 沙坪坝区| 卢湾区| 荃湾区| 伊川县| 湟源县| 商河县| 旬邑县| 莆田市| 元朗区| 鄂托克前旗| 平陆县| 太康县| 聂荣县| 靖州| 吉林省| 宜阳县| 长乐市| 黄山市| 炎陵县| 内黄县| 乐平市| 绥化市| 赤峰市| 库车县| 黎平县| 凭祥市| 桐庐县|