SQL中碰到的坑之BETWEEN AND
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
在我的實際項目中,我多次遇到了SQL語言中的BETWEEN … AND運算符的問題。盡管我的腳本看起來好像是正確的,也沒有多大問題,但是查詢結果與他人的相比卻相差了幾十萬行,這著實讓我感到非常震驚。經過多次踩坑,我終于學會了如何避免這個問題,這也許就是古人說的“吃一塹,長一智”的道理吧。 1、問題提出 我需要對一張用戶登錄表進行統計分析,目標是篩選出在2023年9月29日至2023年10月6日期間登錄系統的用戶信息。其目的是旨在確定在國慶節期間活躍的用戶,并獲取他們的相關信息。用戶登錄表如下: 2、錯誤的SQL語句 初看之下,這個問題似乎很簡單,所以想都沒想就迅速地寫出了SQL語句,結果一運行與預期的結果不一致。見下圖所示: 大家有沒有發現2023年10月6日的兩條登錄信息沒有包括進來,這是什么原因呢。 3、原因分析 之所以會出現上述的問題,是因為在MySQL中,使用BETWEEN進行日期范圍查詢時,默認將右側查詢邊界值限制到了日期的開始時間,即00:00:00。因此,對于查詢范圍為2023年9月29日至2023年10月6日期間的情況,實際上只會查詢到2023年10月6日的00:00:00之前的記錄,而不包括該日期當天的其他時間段的記錄,如19:48:52和23:03:18。那么如何解決這個問題呢? 4、正確的SQL語句 可以采取以下兩種方式來解決上述的問題。 方法一: 方法二:要比方法一簡便,實際工作中常用這種方法。 該文章在 2024/2/7 22:58:42 編輯過 |
關鍵字查詢
相關文章
正在查詢... |