最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于mysql時(shí)間區(qū)間問(wèn)題淺析

 更新時(shí)間:2022年04月20日 10:31:27   作者:二狗的程序人生  
在很多地方都使用到了mysql的日期查詢(xún),下面這篇文章主要給大家介紹了關(guān)于mysql時(shí)間區(qū)間問(wèn)題的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、between……and……

SELECT * FROM 表名 WHERE 開(kāi)始時(shí)間字段名 BETWEEN '2018-09-01' AND '2018-09-14'; 

發(fā)現(xiàn)9月14號(hào)的數(shù)據(jù)沒(méi)有出來(lái),那就證明between……and……是左閉右開(kāi),即[a,b),包含a的值,不包含b的值。

將上面代碼修改下面的語(yǔ)句即可,將原來(lái)的日期加上一天,就行。

select * from 表名 where 字段名 BETWEEN '2018-08-08' and DATE_ADD('2018-09-14',INTERVAL 1 DAY);

這個(gè)問(wèn)題其實(shí)代入到數(shù)學(xué)中很簡(jiǎn)單。

我測(cè)試的時(shí)候和同事說(shuō)沒(méi)有包含這一天的數(shù)據(jù),還爭(zhēng)論了半天,其實(shí)是因?yàn)樗季S的問(wèn)題,程序員的思維和正常人的思維是有一定差異的。就像我有時(shí)候就會(huì)從0開(kāi)始數(shù)東西,到最后發(fā)現(xiàn)不對(duì)。當(dāng)然生活中還是要正常,工作中不正常的需求太多了。

二、<和>問(wèn)題

我的項(xiàng)目用的mybatis,下面就是截取mapper的一部分,其實(shí)和上面的between一樣的用法

<if test="開(kāi)始時(shí)間字段名 != null and 開(kāi)始時(shí)間字段名 != ''">
   AND 開(kāi)始時(shí)間字段名 &gt;= #{前臺(tái)傳的值}
</if>
<if test="結(jié)束時(shí)間字段名!= null and 結(jié)束時(shí)間字段名!= ''">
   AND 結(jié)束時(shí)間字段名 &lt;= DATE_ADD(#{前臺(tái)傳的值},INTERVAL 1 DAY)
</if>

三、在java代碼中拼接

在代碼中拼接,用上面的&lt;和&gt;查詢(xún),簡(jiǎn)單粗暴,只是記錄一下實(shí)現(xiàn)方法

if(StringUtils.isNotEmpty(beginDate)){
  params.put("beginDate",beginDate+" 00:00:00");
}
if(StringUtils.isNotEmpty(endDate)){
  params.put("endDate",endDate + " 23:59:59");
}

四、轉(zhuǎn)變格式查詢(xún)

問(wèn)題描述:db存的格式一般是“yyyy-MM-dd HH:mm:ss”,但是前臺(tái)查詢(xún)并不會(huì)這樣精確,往往會(huì)傳“yyyy-MM-dd”格式的,像上面的拼接就會(huì)顯得極及的LOW,在XXXMapper.xml的sql語(yǔ)句中完成會(huì)很優(yōu)雅。

AND DATE_FORMAT(存日期的字段, '%Y-%m-%d') &gt;= #{Entity日期屬性}

附:Mysql如何實(shí)現(xiàn)指定時(shí)間區(qū)間的所有日期

Mysql沒(méi)有遞歸查詢(xún),是如何實(shí)現(xiàn)指定日期查詢(xún)的:mysql.help_topic 這時(shí)候就可以使用mysql自帶的這個(gè)表來(lái)實(shí)現(xiàn)。(算是取巧的方法,暫時(shí)沒(méi)找到更好的方法)

SELECT DATE_FORMAT( date_add(concat('2019-01-01'), interval(help_topic_id) DAY),'%Y-%m-%d') DT 
        FROM mysql.help_topic
        WHERE help_topic_id  <=  timestampdiff(DAY,concat('2019-01-01'),concat('2019-12-01'))

總結(jié)

到此這篇關(guān)于mysql時(shí)間區(qū)間問(wèn)題的文章就介紹到這了,更多相關(guān)mysql時(shí)間區(qū)間問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

沐川县| 彝良县| 井冈山市| 张掖市| 璧山县| 房产| 芦溪县| 贵定县| 霍林郭勒市| 沙洋县| 宜阳县| 吉首市| 瑞昌市| 微山县| 建瓯市| 四平市| 商南县| 阿图什市| 湘乡市| 涟水县| 两当县| 隆昌县| 浠水县| 罗城| 射洪县| 霍州市| 夹江县| 鄂托克前旗| 天柱县| 和静县| 陆丰市| 高雄县| 和龙市| 万宁市| 杭锦后旗| 毕节市| 锦州市| 泸溪县| 米泉市| 新绛县| 阿巴嘎旗|