1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        MySQL datetime 時(shí)間字段的四舍五入

        共 793字,需瀏覽 2分鐘

         ·

        2021-09-30 12:26

        前言

        如果不是踩到坑,我估計(jì)到現(xiàn)在還不知道時(shí)間字段會(huì)四舍五入。

        1

        背景

        通過 Java 代碼獲取當(dāng)日最大時(shí)間,然后存入數(shù)據(jù)庫,數(shù)據(jù)庫表字段格式 datetime 保留 0 位。

        now.with(LocalTime.MAX)

        小小的一行代碼,獲取今天的最大日期。

        到數(shù)據(jù)庫一看,好家伙,竟然存了第二天的時(shí)間。

        看著樣子是四舍五入了!

        2

        模擬測(cè)試

        執(zhí)行之后,看一下日志:

        使用的是 2021-09-28T23:59:59.999999999,但是很奇怪的是數(shù)據(jù)庫存儲(chǔ)的是 2021-09-29 00:00:00。

        直接使用 SQL 試一試:

        這…… 果然是四舍五入了。

        換成 MariaDB 試試!

        docker pull mariadb

        docker run -d --name mariadb -p 33306:33306 -e "MYSQL_ROOT_PASSWORD=root" mariadb

        docker exec -it mariadb bash

        MariaDB 是直接舍棄多余位數(shù)的!

        3

        結(jié)論

        MySQL 時(shí)間如果傳入的值超過精度范圍,會(huì)進(jìn)行四舍五入。

        MariaDB 時(shí)間如果傳入的值超過精度范圍,會(huì)直接舍棄。

        踩了個(gè)小坑。最后還是硬編碼吧!

        now.with(LocalTime.parse("23:59:59"))


        - <End /> -




        歷史文章 | 相關(guān)推薦




        瀏覽 58
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美一色 | 午夜看大片 | 乱伦精品视频 | 久久久一区二区三区电影 | 麻豆视频一区999 | 欧美精品无码成人网站 | 123操逼逼网 | 丰满少妇被强烈进入 | 操榴社区 | 老女久久|