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

MySQL BETWEEN AND踩坑記錄

 更新時(shí)間:2023年07月28日 11:02:18   作者:Bryce180  
這篇文章主要介紹了MySQL BETWEEN AND踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MySQL BETWEEN AND踩坑

在日常使用MySQL的過(guò)程中,我們很習(xí)慣性的會(huì)使用“BETWEEN … AND…”來(lái)進(jìn)行條件查詢,篩選對(duì)應(yīng)時(shí)間、狀態(tài)的數(shù)據(jù)。

但,如果這個(gè)日期字段是日期/時(shí)間格式,那么坑就來(lái)了。

SELECT 
	* # 正式學(xué)習(xí)工作盡量不要直接使用 *,這里是自建的模擬表無(wú)所謂
FROM 
	test 
WHERE 
	time BETWEEN '2023-04-01' AND '2023-04-20'
ORDER BY 
	time desc

輸出結(jié)果:

在這里插入圖片描述

但是!

實(shí)際上我們的表中是有2023-04-20這一天的數(shù)據(jù)的

SELECT 
	*
FROM 
	test 
WHERE 
	DATE(time) = '2023-04-20'

在這里插入圖片描述

MySQL的BETWEEN ... AND...的取值確實(shí)是閉區(qū)間,但是如果日期字段包含時(shí)間,即2023-04-20 09:23:35

MySQL會(huì)將BETWEEN '2023-04-01' AND '2023-04-20'自動(dòng)轉(zhuǎn)換為BETWEEN '2023-04-01 00:00:00' AND '2023-04-20 00:00:00'

也就是說(shuō),當(dāng)日期字段帶時(shí)間時(shí),最后一天僅會(huì)獲取00:00:00這一時(shí)間點(diǎn)的數(shù)據(jù),而非我們想象中的最后一天一整天的數(shù)據(jù)!

解決思路

1.使用DATE()

DATE(time) BETWEEN '2023-04-01' AND '2023-04-20'

2.使用小于號(hào),小于最后一天的后一天

time >= '2023-04-01' and time < '2023-04-21'

3.手動(dòng)補(bǔ)上時(shí)間(不建議,麻煩且可能出現(xiàn)更多坑)

time BETWEEN '2023-04-01 00:00:00.000000' AND '2023-04-20 23:59:59.999999'

MySQL之between ...and....小知識(shí)點(diǎn)

使用BETWEEN AND關(guān)鍵字檢索數(shù)據(jù)表中指定的數(shù)據(jù)內(nèi)容。

帶BETWEEN AND關(guān)鍵字的查詢

我們已經(jīng)學(xué)會(huì)了如何用IN關(guān)鍵字精確查詢數(shù)據(jù)表中的內(nèi)容,但是在很多時(shí)候,我們僅僅是想知道在某一范圍內(nèi)有多少符合條件的數(shù)據(jù),這就不得不使用到關(guān)鍵字BETWEEN AND了,它是閉區(qū)間,前后都可以取到。

BETWEEN AND需要兩個(gè)參數(shù)支持,一個(gè)是范圍的開(kāi)始值,另一個(gè)就是結(jié)束值了。

如果字段值滿足指定的范圍查詢條件,就返回這些滿足條件的數(shù)據(jù)內(nèi)容。

語(yǔ)法規(guī)則為:

SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2; ???????

舉個(gè)例子假設(shè)我們現(xiàn)在有一張表Mall_products,

內(nèi)容如下:

我們將使用BETWEEN AND關(guān)鍵字檢索出所有國(guó)家代碼為1~50的商品的信息。

查詢代碼如下:

SELECT *
FROM Mall_products
WHERE prod_country BETWEEN 1 AND 50;

結(jié)果為:

查詢過(guò)程如下:

可以看到,返回結(jié)果包含了國(guó)家代碼從1~50之間的字段值。尤其值得注意的是,端點(diǎn)值1也包含在返回結(jié)果中。

帶NOT BETWEEN AND關(guān)鍵字的查詢

像上一關(guān)介紹的關(guān)鍵字IN一樣,我們還可以對(duì)關(guān)鍵字BETWEEN AND進(jìn)行取反,表示查詢指定范圍之外的值。

語(yǔ)法規(guī)則為:

SELECT 字段名 FROM 表名 WHERE 字段名 NOT BETWEEN n1 AND n2; ???????

舉個(gè)例子我們依然使用表Mall_products。

現(xiàn)在我們想要查詢除了國(guó)家代碼為1~50的所有國(guó)家的產(chǎn)品內(nèi)容。

查詢代碼如下:

SELECT *
FROM Mall_products
WHERE prod_country NOT BETWEEN 1 AND 50;

結(jié)果為:

由結(jié)果可以看出,返回的結(jié)果只有大于國(guó)家代碼50的內(nèi)容。

怎么樣?簡(jiǎn)單吧!

總結(jié)

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

相關(guān)文章

  • MYSQL中EXISTS的用法小結(jié)

    MYSQL中EXISTS的用法小結(jié)

    在MySQL數(shù)據(jù)庫(kù)中,EXISTS是一種強(qiáng)大的工具,用于處理復(fù)雜的查詢需求,本文主要介紹了MYSQL中EXISTS的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • 解讀sql中timestamp和datetime之間的轉(zhuǎn)換

    解讀sql中timestamp和datetime之間的轉(zhuǎn)換

    這篇文章主要介紹了解讀sql中timestamp和datetime之間的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 通過(guò)ibd文件恢復(fù)MySql數(shù)據(jù)的操作方法

    通過(guò)ibd文件恢復(fù)MySql數(shù)據(jù)的操作方法

    文章介紹通過(guò).ibd文件恢復(fù)MySQL數(shù)據(jù)的過(guò)程,包括知道表結(jié)構(gòu)和不知道表結(jié)構(gòu)兩種情況,對(duì)于知道表結(jié)構(gòu)的情況,可以直接將.ibd文件復(fù)制到新的數(shù)據(jù)庫(kù)目錄并重啟MySQL,對(duì)于不知道表結(jié)構(gòu)的情況,可以使用ibd2sql工具生成對(duì)應(yīng)的SQL腳本,然后執(zhí)行該腳本恢復(fù)數(shù)據(jù),感興趣的朋友看看吧
    2025-03-03
  • MySQL操作數(shù)據(jù)庫(kù)實(shí)戰(zhàn)指南

    MySQL操作數(shù)據(jù)庫(kù)實(shí)戰(zhàn)指南

    這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)操作庫(kù)的相關(guān)資料,MySQL數(shù)據(jù)庫(kù)是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),所采用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)最常用的標(biāo)準(zhǔn)會(huì)語(yǔ)言,需要的朋友可以參考下
    2023-07-07
  • mysql 安全管理詳情

    mysql 安全管理詳情

    這篇文章主要介紹了mysql 安全管理,MySQL服務(wù)器的安全基礎(chǔ)是用戶應(yīng)該對(duì)他們需要的數(shù)據(jù)具有適當(dāng)?shù)脑L問(wèn)權(quán),既不能多也不能少,換句話說(shuō),用戶不能對(duì)過(guò)多的數(shù)據(jù)具有過(guò)多的訪問(wèn)權(quán),下面?zhèn)z看看文章詳細(xì)內(nèi)容吧
    2021-10-10
  • 詳解MySQL8.0 密碼過(guò)期策略

    詳解MySQL8.0 密碼過(guò)期策略

    這篇文章主要介紹了MySQL8.0 密碼過(guò)期策略的相關(guān)資料,幫助大家更好的理解和使用MySQL8.0的新功能,感興趣的朋友可以了解下
    2020-11-11
  • 騰訊面試:一條SQL語(yǔ)句執(zhí)行得很慢的原因有哪些?---不看后悔系列(推薦)

    騰訊面試:一條SQL語(yǔ)句執(zhí)行得很慢的原因有哪些?---不看后悔系列(推薦)

    這篇文章主要介紹了SQL語(yǔ)句執(zhí)行慢的原因,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • mysql unix準(zhǔn)換時(shí)間格式查找指定日期數(shù)據(jù)代碼

    mysql unix準(zhǔn)換時(shí)間格式查找指定日期數(shù)據(jù)代碼

    這篇文章主要介紹了mysql unix準(zhǔn)換時(shí)間格式查找指定日期數(shù)據(jù),需要的朋友可以參考下
    2014-03-03
  • JDBC數(shù)據(jù)庫(kù)驅(qū)動(dòng)的下載、安裝與連接過(guò)程

    JDBC數(shù)據(jù)庫(kù)驅(qū)動(dòng)的下載、安裝與連接過(guò)程

    這篇文章主要介紹了JDBC數(shù)據(jù)庫(kù)驅(qū)動(dòng)的下載、安裝與連接過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • MySQL SHOW STATUS語(yǔ)句的使用

    MySQL SHOW STATUS語(yǔ)句的使用

    這篇文章主要介紹了MySQL SHOW STATUS語(yǔ)句的使用,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

博白县| 晋宁县| 西乌| 昔阳县| 林西县| 定南县| 普安县| 江城| 诸暨市| 保定市| 保定市| 九寨沟县| 山阳县| 湘阴县| 嘉兴市| 高台县| 筠连县| 舟山市| 百色市| 大埔区| 中山市| 万宁市| 奇台县| 明星| 自贡市| 东光县| 富阳市| 肇州县| 梧州市| 南召县| 芦溪县| 衢州市| 鄂托克旗| 定远县| 库尔勒市| 墨脱县| 红原县| 靖安县| 西乌珠穆沁旗| 庄河市| 青神县|