<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      何大土  

      一、MySQL中datetime類型怎么處理毫秒

      MySQL中datetime日期類型,默認是精確到秒的。從MySQL5.6.4版本開始,可以設置精度,如datetime(3)表示精確到毫秒

      類型 說明 插入時賦值 DB實際存儲
      datetime(0)或datetime 精確到秒

      2024-05-19 00:00:00:499

      2024-05-19 00:00:00:500

      2024-05-19 00:00:00

      2024-05-19 00:00:01

      datetime(3) 精確到毫秒

      2024-05-19 00:00:00:499

      2024-05-19 00:00:00:500

      2024-05-19 00:00:00:499

      2024-05-19 00:00:00:500

      實驗:

      數據庫版本: MySQL5.7.34

      表定義:

      create table date_test
      (
          id              int auto_increment primary key,
          date_field      date                                null,
          datetime_field  datetime                            null,
          datetime3_field datetime(3)                         null,
          timestamp_field timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP,
          remark          int                                 null
      );

      插入2024-05-18 23:59:59:000 ~ 2024-05-19 00:00:01:000,每1毫秒插入一條數據

        @Test
      	public void testInsert(){
      		List<DateTestDO> dateTestDOList= new ArrayList<>();
      		//2024-05-19 00:00:00 減去一秒
      		long timeStamp = 1716048000000L - 1000L;
      		for (int i = 0; i <=2000 ; i++) {
      			long time = timeStamp+i;
      			Date date = new Date(time);
      			DateTestDO dateTestDO = new DateTestDO();
      			dateTestDO.setDateField(date);
      			dateTestDO.setDatetimeField(date);
      			dateTestDO.setDatetime3Field(date);
      			dateTestDO.setTimestampField(date);
      			dateTestDO.setRemark(i+1);
      			dateTestDOList.add(dateTestDO);
      		}
      		dateTestDao.batchInsert(dateTestDOList);
      	}

      觀察DB數據:

      datetime(0)類型,毫秒數小于500時直接舍棄;毫秒數大于等于500時+1秒

      datetime(3)類型,能保存毫秒數,不會加1秒

       

      二、按datetime(0)類型字段檢索時有精度問題嗎?

      例如需要查詢2024-05-19這一天中的所有訂貨單,訂單日期查詢條件為 2024-05-19 00:00:00:000 ~ 2024-05-19 23:59:59:999,訂單日期使用 datetime進行存儲,時間部分固定全為0,如2024-05-18 00:00:00

      構造實驗數據:2024-05-10~2024-05-20每天保存一張訂貨單,時間部分都是0,例如2024-05-10 00:00:00:000

      查詢代碼:

        @Test
      	public void testQuery(){
      		//2024-05-18 00:00:00:000
      		long startTime = 1715961600000L;
      		//2024-05-18 23:59:59:999
      		long endTime = 1716047999999L;
      		List<DateTestDO> dateTestDOS = dateTestDao.queryByDate(new Date(startTime), new Date(endTime));
      		System.out.println(dateTestDOS.size());
      		System.out.println(dateTestDOS.get(0));
      		System.out.println(dateTestDOS.get(dateTestDOS.size()-1));
      	}
      
          <select id="queryByDate" resultType="cn.hekui.model.DateTestDO">
              select * from date_test
              where datetime_field >= #{start,jdbcType=TIMESTAMP} and datetime_field <= #{end,jdbcType=TIMESTAMP};
          </select>

      在上面的插入實驗中,毫秒數大于500時會加一秒,那查詢條件中的 end時間為2024-05-18 23:59:59:999會進位為 2024-05-19 00:00:00嗎?會查出05-19的記錄嗎?

      查詢結果如下:

      可以看到查詢結果只有1條,只查詢到了05-18的記錄,并沒有查詢到05-19的記錄。

      結論:在進行日期查詢時,MySQL不會自動將毫秒部分加到秒上。

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      
      
      posted on 2024-05-19 10:36  何大土  閱讀(173)  評論(0)    收藏  舉報
       
      主站蜘蛛池模板: 无码av中文字幕免费放| 久章草在线毛片视频播放| 丁香婷婷综合激情五月色| 久久久久久av无码免费网站| 婷婷色香五月综合缴缴情香蕉| 日韩精品人妻中文字幕| 精品人妻伦一二二区久久| 久久88香港三级台湾三级播放| 国产性生大片免费观看性| 国产成人无码一区二区三区| 无码专区 人妻系列 在线| 国产日韩综合av在线| 新兴县| 浴室人妻的情欲hd三级国产| 亚洲综合精品中文字幕| 日本高清视频色wwwwww色| 日韩免费码中文在线观看| 国产又色又爽又黄的视频在线| 在线高清免费不卡全码| 日韩有码中文字幕av| 日韩大尺度一区二区三区| 亚洲人成网站色www| 精品国产AV无码一区二区三区| 亚洲国产初高中生女av| 亚洲精品福利一区二区三区蜜桃| 91中文字幕一区在线| 国产一区二区不卡在线| 激情久久综合精品久久人妻| 国产精品久久人妻无码网站一区| 欧美成人www免费全部网站| 国产精品美女一区二区三| 人妻少妇精品视频专区| 成年黄页网站大全免费无码| 亚洲午夜久久久久久噜噜噜| 国产欧美日韩高清在线不卡| 国产精品视频全国免费观看| 日韩有码中文在线观看| 黄又色又污又爽又高潮| 国产成人精品a视频| 丁香五月亚洲综合深深爱 | 久热久精久品这里在线观看|