亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

sql查詢?nèi)掌跁r(shí)間范圍的方法 sql查詢?nèi)掌跁r(shí)間范圍


sql查詢?nèi)掌跁r(shí)間范圍的方法 sql查詢?nèi)掌跁r(shí)間范圍

文章插圖
問(wèn)題描述都知道between and查詢是包含上下邊界的, 但是在遇到
形如
select 字段1, 字段2 from table_xxx where 時(shí)間字段 between 開(kāi)始時(shí)間 and 結(jié)束時(shí)間的日期查詢時(shí), 查詢結(jié)果可能會(huì)出乎意料.
(注意: 使用的數(shù)據(jù)庫(kù)是MariaDB(MySQL), 時(shí)間字段 是 DATETIME 類型)
比如: select 字段1, 字段2 from table_xxx where 時(shí)間字段 between ‘2021-05-01’ and ‘2021-05-10’ 的查詢結(jié)果中,
包含2021-05-01的記錄, 但并不包含2021-05-10最后一天的記錄,
好像between and的邊界原則失效了, 這是這么回事呢?
問(wèn)題解答實(shí)際上, between and的查詢邊界并沒(méi)有改變, 還是老樣子, 只是我們?cè)谌掌诓樵儠r(shí), 一開(kāi)始把問(wèn)題想簡(jiǎn)單了, 實(shí)際上還是對(duì)于字段類型把握的準(zhǔn)確性.
由于時(shí)間字段是DATETIME類型, 我們來(lái)仔細(xì)看看DATETIME數(shù)據(jù)類型:
DATETIMEA date and 財(cái)路哥 combination. MariaDB displays DATETIME values in 'YYYY-MM-DD HH:MM:SS.ffffff' format, but allows assignment of values to DATETIME columns using either strings or numbers.MariaDB stores values that use the DATETIME data type in a format that supports values between 1000-01-01 00:00:00.000000 and 9999-12-31 23:59:59.999999.以上對(duì)DATETIME的描述摘自:
https://mariadb.com/kb/en/date財(cái)路哥/ 頁(yè)面
由此可知, 語(yǔ)句between ‘2021-05-01’ and ‘2021-05-10’
會(huì)被MariaDB數(shù)據(jù)庫(kù)轉(zhuǎn)換為
between ‘2021-05-01 00:00:00.000000’ and ‘2021-05-10 00:00:00.000000’.
這樣當(dāng)然不會(huì)包含05-10這一天的記錄.
所以, 問(wèn)題還是出在 查詢條件 寫(xiě)得不夠嚴(yán)謹(jǐn), 不要偷懶, 寫(xiě)成下面語(yǔ)句
between ‘2021-05-01 00:00:00’ and ‘2021-05-10 23:59:59’
就能達(dá)到我們想要得目標(biāo)結(jié)果了, 如果數(shù)據(jù)很多, 時(shí)間顆粒度要求高, 也可寫(xiě)成
between ‘2021-05-01 00:00:00.000000’ and ‘2021-05-10 23:59:59.999999’
就完美了!


    以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

    「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: