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

?MySQL中?between and的基本用法?操作方法

 更新時間:2024年10月31日 15:47:15   作者:五月天的尾巴  
本文主要介紹了MySQL中BETWEEN AND操作符的基本用法,包括數(shù)值查詢和時間范圍查詢,同時還詳細(xì)解釋了NOT BETWEEN AND的使用方法,并通過實(shí)例進(jìn)行了詳細(xì)的演示,其中,BETWEEN AND可以用于數(shù)值、日期等類型的字段,包括邊界值

BETWEEN AND操作符可以用于數(shù)值、日期等類型的字段,包括邊界值

一、between and語法

MySQL中的BETWEEN AND操作符用于在兩個值之間選擇數(shù)據(jù),包括邊界值。其基本語法如下:

[NOT] BETWEEN 取值1 AND 取值2

其中:

  • NOT:可選參數(shù),表示指定范圍之外的值。如果字段值不滿足指定范圍內(nèi)的值,則這些記錄被返回。
  • 取值1:表示范圍的起始值。
  • 取值2:表示范圍的終止值。

使用場景:
between…and的使用一般有兩種情況,一個是數(shù)值范圍,一個是時間范圍
當(dāng)查詢時間范圍時要注意可能會遇到時間精度問題,具體參考下面示例。

二、使用示例

數(shù)據(jù)準(zhǔn)備

create table user(
       id int NOT NULL auto_increment primary key comment '主鍵id',
       `name` varchar(10) NULL comment '姓名',
       age int NULL comment '年齡',
       salary int NULL comment '工資',
       create_time datetime comment '創(chuàng)建時間戳'
);
insert into user(name,age,salary,create_time) values
('張三',23,100,'2024-10-29 10:01:22'),
('李四',24,200,'2024-10-30 09:44:22'),
('王五',25,300,'2024-10-30 10:01:22'),
('趙六',26,400,'2024-10-31 07:01:23');

表數(shù)據(jù)如下

2.1、between and數(shù)值查詢

between…and…是支持?jǐn)?shù)值查詢的,當(dāng)字段類型是數(shù)值時 between A and B等同于>=A and <=B

當(dāng)between and用于數(shù)值查詢時,常用于字段類型為int、decimal等。

-- 查詢用戶表中年齡在24到25之間的用戶
select * from user where age between 24 and 25;
等同于
select * from user where age >= 24 and age <= 25;

查詢結(jié)果如下:

2.2、between and時間范圍查詢

注意:

  • 當(dāng)日期字段為date類型時,即時間格式為yyyy-MM-dd, between ‘2024-10-29’ and ‘2024-10-30’ 相當(dāng)于>=‘2024-10-29’ and <=‘2024-10-30’
  • 當(dāng)日期字段為datetime、timestamp類型時,即時間格式為yyyy-MM-dd HH:mm:ss,between ‘2024-10-29’ and ‘2024-10-30’ 相當(dāng)于>=‘2024-10-29 00:00:00’ and <=‘2024-10-30 00:00:00’。所以當(dāng)between and對datetime、timestamp類型查詢時,一定要注意手動拼接時分秒,否則查詢數(shù)據(jù)可能不符合預(yù)期。

先上一個錯誤示例:對datetime類型查詢不帶時分秒

-- 查詢用戶表中創(chuàng)建時間在2024-10-29到2024-10-30之間的數(shù)據(jù)
select * from user where create_time between '2024-10-29' and '2024-10-30';
等同于
select * from user where create_time >= '2024-10-29 00:00:00' and create_time  <= '2024-10-30 00:00:00';

查詢結(jié)果:

從上面示例可以看出,還有兩條數(shù)據(jù)時間是在2024-10-30日范圍內(nèi),但是并沒有被查詢出來。

所以需要注意:當(dāng)between and對datetime、timestamp類型查詢時,一定要注意手動拼接時分秒,否則查詢數(shù)據(jù)可能不符合預(yù)期。

正確示例

-- 查詢用戶表中創(chuàng)建時間在2024-10-29到2024-10-30之間的數(shù)據(jù)
select * from user where create_time between '2024-10-29 00:00:00' and '2024-10-30 23:59:59';
等同于
select * from user where create_time >= '2024-10-29 00:00:00' and create_time  <= '2024-10-30 23:59:59';

查詢結(jié)果:

2.3、not between and示例

not between and表示指定范圍之外的值。not between A and B相當(dāng)于 < A or >B。

示例:查詢年齡不在24到25之間的用戶

-- 查詢用戶表中年齡不在24到25之間的用戶
select * from user where age not between 24 and 25;
等同于
select * from user where age < 24 or age > 25;

查詢結(jié)果如下:

到此這篇關(guān)于‌MySQL中‌between and的基本用法‌的文章就介紹到這了,更多相關(guān)mysql ‌between and用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL中Lag()和LEAD()的用法示例詳解

    SQL中Lag()和LEAD()的用法示例詳解

    LAG和LEAD函數(shù)為SQL開發(fā)者提供了強(qiáng)大的數(shù)據(jù)洞察力,尤其是在處理時間序列和趨勢分析問題時,下面這篇文章主要介紹了SQL中Lag()和LEAD()用法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-10-10
  • 千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享

    千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享

    這篇文章主要介紹了千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享,用戶日活百萬級,注冊用戶千萬級,而且若還沒有進(jìn)行分庫分表,則該DB里的用戶表可能就一張,單表上千萬的用戶數(shù)據(jù),下面我們就來學(xué)習(xí)如何讓優(yōu)化,需要的朋友可以參考一下
    2022-03-03
  • MySQL高可用解決方案MMM(mysql多主復(fù)制管理器)

    MySQL高可用解決方案MMM(mysql多主復(fù)制管理器)

    MySQL本身沒有提供replication failover的解決方案,通過MMM方案能實(shí)現(xiàn)服務(wù)器的故障轉(zhuǎn)移,從而實(shí)現(xiàn)mysql的高可用。MMM不僅能提供浮動IP的功能,如果當(dāng)前的主服務(wù)器掛掉后,會將你后端的從服務(wù)器自動轉(zhuǎn)向新的主服務(wù)器進(jìn)行同步復(fù)制,不用手工更改同步配置
    2017-09-09
  • Mysql ERROR 1067: Invalid default value for字段問題

    Mysql ERROR 1067: Invalid default v

    這篇文章主要介紹了Mysql ERROR 1067: Invalid default value for字段問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • MySQL同步ES的五種方案及對比詳解

    MySQL同步ES的五種方案及對比詳解

    有些小伙伴在工作中可能遇到過數(shù)據(jù)庫查詢慢的問題,特別是模糊查詢和復(fù)雜聚合查詢,這時候引入ES(Elasticsearch)作為搜索引擎是個不錯的選擇,所以本文給大家介紹了MySQL同步ES的五種方案,需要的朋友可以參考下
    2025-09-09
  • 提升MySQL查詢效率及查詢速度優(yōu)化的四個方法詳析

    提升MySQL查詢效率及查詢速度優(yōu)化的四個方法詳析

    查詢語句的優(yōu)化是提高M(jìn)ySQL查詢速度的重要方法,可以通過使用JOIN語句、子查詢、優(yōu)化where子句等方式來減少查詢的時間,下面這篇文章主要給大家介紹了關(guān)于提升MySQL查詢效率及查詢速度優(yōu)化的四個方法,需要的朋友可以參考下
    2023-04-04
  • MySQL存儲過程和存儲函數(shù)的用法解讀

    MySQL存儲過程和存儲函數(shù)的用法解讀

    這篇文章主要介紹了MySQL存儲過程和存儲函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-09-09
  • navicat 連接數(shù)據(jù)庫隔段時間后自動斷開連接的解決方案

    navicat 連接數(shù)據(jù)庫隔段時間后自動斷開連接的解決方案

    這篇文章主要介紹了navicat 連接數(shù)據(jù)庫隔段時間后自動斷開連接的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • MySQL組提交group commit詳解

    MySQL組提交group commit詳解

    這篇文章主要介紹了MySQL組提交group commit知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • MySQL內(nèi)連接和外連接及七種SQL?JOINS的實(shí)現(xiàn)

    MySQL內(nèi)連接和外連接及七種SQL?JOINS的實(shí)現(xiàn)

    這篇文章主要介紹了Mysql內(nèi)連接和外連接的區(qū)別以及七種SQL?Joins的實(shí)現(xiàn),相信看完這篇文章你對SQL內(nèi)外連接的多表查詢就足夠理解了,需要的朋友可以參考下
    2023-03-03

最新評論

拉萨市| 得荣县| 新兴县| 云浮市| 老河口市| 阳城县| 乐陵市| 怀安县| 平乐县| 炉霍县| 白水县| 上林县| 田东县| 巴彦县| 辛集市| 裕民县| 陵川县| 西丰县| 敦化市| 静海县| 长治县| 丽江市| 巴楚县| 锦州市| 鹤岗市| 关岭| 凉城县| 景德镇市| 东乡族自治县| 简阳市| 儋州市| 兴业县| 远安县| 马龙县| 河源市| 仁怀市| 榆林市| 曲沃县| 台湾省| 鄢陵县| 萨嘎县|