亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySql下關于時間范圍的between查詢方式

 更新時間:2023年07月28日 10:36:48   作者:指尖過客  
這篇文章主要介紹了MySql下關于時間范圍的between查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MySql下時間范圍的between查詢

MySql下Between的范圍界限

mysql的between and 是包含左右界限的。

即time between startdate and enddate等價于time>=startdate and time<=enddate;

關于localdatetime

jdk1.8 提供的時間類使用起來很方便,特別是查詢上一個月,上一分鐘一類的。

其中有個方法是返回一天的開始時間和結(jié)束時間:

LocalDateTime.of(lastDay, LocalTime.MAX)

它的最大值默認是小數(shù)點后9個9,就是:2021-03-8T23:59:58.999999999,結(jié)合mysql+between and 就會把第二天0點的數(shù)據(jù)也查出來,這顯然是不符合我們的需求的。

原因是精度超過5個9之后就會進位。

所以在處理的時候,入?yún)⒖梢詼p1秒就正好。

MySql between日期邊界的問題留意

邊界問題 

mysql, between 開始日期 AND 結(jié)束日期  包含開始日期,不包含結(jié)束日期

例如:

BETWEEN '2018-01-22' AND? '2018-01-30'

開始日期從2018-01-22 00:00:00.0 開始, 到2018-01-29 23:59:59.59結(jié)束

表中的CREATE_DATE 是varchar(21) DEFAULT NULL COMMENT '時間',

CREATE_DATE中保存值是: 年-月-日  時:分:秒:0     例如: 2018-01-29 23:45:35.0

SELECT *? FROM? Test? a WHERE? a.CREATE_DATE BETWEEN '2018-01-22' AND? '2018-01-30'? ?ORDER BY a.CREATE_DATE desc

SELECT * ?FROM TABEL a WHERE ?a.CREATE_DATE BETWEEN '2018-01-22' AND ?'2018-01-30' ??
ORDER BY a.CREATE_DATE desc

    2018-01-29 23:45:35.0    20180129
    2018-01-29 23:45:33.0    20180129

    2018-01-29 00:10:58.0    20180129
    2018-01-29 00:10:45.0    20180129
    2018-01-28 23:42:23.0    20180128
    2018-01-28 23:39:39.0    20180128

SELECT * ?FROM TABEL a WHERE ?a.CREATE_DATE BETWEEN '2018-01-22' AND ?'2018-01-29' ??
ORDER BY a.CREATE_DATE desc

    2018-01-28 23:42:23.0    20180128
    2018-01-28 23:39:39.0    20180128
    2018-01-28 00:13:22.0    20180128
    2018-01-28 00:13:19.0    20180128
    2018-01-27 23:23:02.0    20180127
    2018-01-22 00:09:59.0    20180122
    2018-01-22 00:09:56.0    20180122
    2018-01-22 00:01:53.0    20180122

遇到的其他問題

遇到另外一張表  test2     有保存時間的字段:  `REPORTTIME` varchar(45) DEFAULT NULL,

這個字段保存的值是: 

例子1:

select *? from bips_hpd_helpdesk a WHERE? str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d')
?? ??? ?BETWEEN '2018-01-16' AND '2018-01-27' ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC ;

結(jié)果1:

從結(jié)果中,可以看到取到了27號的數(shù)據(jù),可能是處理的時間沒有 小時,分鐘,秒。

例子2:

select *? from bips_hpd_helpdesk a WHERE? str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d')
BETWEEN str_to_date('2018-01-16','%Y-%m-%d') AND str_to_date('2018-01-27','%Y-%m-%d')

結(jié)果2:

找到問題: 毫秒值轉(zhuǎn)換為時間,發(fā)現(xiàn)這里保存的毫秒值,沒有保存時分秒:

from_unixtime(a.REPORTTIME,'%Y-%m-%d') AS reportTime,a.REPORTTIME,  
             str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') AS reportTime22
        FROM test  a WHERE  str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s')
        BETWEEN str_to_date('2018-01-16','%Y-%m-%d %h:%i:%s') AND str_to_date('2018-01-27 %h:%i:%s','%Y-%m-%d')
     #subdate(curdate(),date_format(curdate(),'%w')-1) AND subdate(curdate(),date_format(curdate(),'%w')-8)
        ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC ;

查看到的時間值:

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 深入理解SQL的四種連接-左外連接、右外連接、內(nèi)連接、全連接

    深入理解SQL的四種連接-左外連接、右外連接、內(nèi)連接、全連接

    本篇文章是對SQL中的四種連接-左外連接、右外連接、內(nèi)連接、全連接進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • CentOS8下MySQL 8.0安裝部署的方法

    CentOS8下MySQL 8.0安裝部署的方法

    這篇文章主要介紹了CentOS 8下 MySQL 8.0 安裝部署的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • mysql?8.0.28?winx64.zip安裝配置方法圖文教程

    mysql?8.0.28?winx64.zip安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql?8.0.28?winx64.zip安裝配置方法圖文教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • MySQL 5.7開啟并查看biglog的詳細教程

    MySQL 5.7開啟并查看biglog的詳細教程

    binlog 就是binary log,二進制日志文件,這個文件記錄了MySQL所有的DML操作,通過binlog日志我們可以做數(shù)據(jù)恢復,增量備份,主主復制和主從復制等等,本文給大家介紹了MySQL 5.7開啟并查看biglog的詳細教程,需要的朋友可以參考下
    2024-03-03
  • shell腳本一鍵安裝MySQL5.7.29的方法

    shell腳本一鍵安裝MySQL5.7.29的方法

    這篇文章主要介紹了shell腳本一鍵安裝MySQL5.7.29的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別

    淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別

    本文主要介紹了淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 淺談mysql中多表不關聯(lián)查詢的實現(xiàn)方法

    淺談mysql中多表不關聯(lián)查詢的實現(xiàn)方法

    下面小編就為大家?guī)硪黄獪\談mysql中多表不關聯(lián)查詢的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • windows下修改Mysql5.7.11初始密碼的圖文教程

    windows下修改Mysql5.7.11初始密碼的圖文教程

    這篇文章主要介紹了windows下修改Mysql5.7.11初始密碼的圖文教程,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • MySQL安裝后沒有my.ini配置文件的解決

    MySQL安裝后沒有my.ini配置文件的解決

    這篇文章主要介紹了MySQL安裝后沒有my.ini配置文件的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • MySQL啟動錯誤解決方法

    MySQL啟動錯誤解決方法

    本文給大家分享的是mysql啟動時報錯的排查過程及方法,非常實用,有相同問題的小伙伴可以來參考下
    2016-12-12

最新評論