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

mysql中between的用法及說明

 更新時(shí)間:2023年07月28日 09:53:09   作者:有夢想的攻城獅  
這篇文章主要介紹了mysql中between的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

關(guān)于between的使用

between的介紹

日常sql查詢過程中經(jīng)常要篩選某個(gè)屬性或某個(gè)表達(dá)式結(jié)果的某個(gè)范圍內(nèi)的數(shù)據(jù),這個(gè)時(shí)候我們經(jīng)常通過 > 或者 < 來進(jìn)行篩選,有的時(shí)候再項(xiàng)目中由于 >< 經(jīng)常會(huì)和起始標(biāo)志符沖突,所以需要進(jìn)行轉(zhuǎn)義,這個(gè)過程很容易出現(xiàn)一些問題,其實(shí)在sql的關(guān)鍵字中,有一個(gè)非常實(shí)用的關(guān)鍵字可以進(jìn)行范圍查詢,這個(gè)關(guān)鍵字就是between,接下來我們就來深入的了解一下between的用法。

between的語法

between關(guān)鍵字是一個(gè)邏輯操作符用來篩選指定屬性或表達(dá)式某一范圍內(nèi)或范圍外的數(shù)據(jù)。

between關(guān)鍵字常用在where關(guān)鍵字后與selectupdatedelete共同使用。

between的使用語法如下:

expr [NOT] BETWEEN begin_expr AND end_expr;

在整個(gè)表達(dá)式中,expr表示的是一個(gè)單一的屬性或者是一個(gè)計(jì)算的表達(dá)式,整個(gè)表達(dá)式中的三個(gè)參數(shù) expr、begin_expr、end_expr 必須是同一種數(shù)據(jù)類型。

  • between篩選的是 expr >= begin_expr并且 expr <= end_expr 的數(shù)據(jù),如果不存在則返回的是0;
  • not between篩選的是 expr < begin_expr或者 expr > end_expr 的數(shù)據(jù),如果不存在則返回的是0;
  • 如果 expr 返回的是 NULL,則between 也返回的是null (暫未驗(yàn)證)

between的用法

假如我們有一張數(shù)據(jù)庫表如下所示

CREATE TABLE `t_income` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '唯一自增id',
  `income_date` varchar(255) NOT NULL COMMENT '收入年月',
  `amount` float NOT NULL COMMENT '收入金額',
  `target_amount` float NOT NULL DEFAULT '0' COMMENT '目標(biāo)收入',
  `create_time` datetime NOT NULL COMMENT '創(chuàng)建時(shí)間',
  PRIMARY KEY (`id`)  ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

查詢表中amount>=10并且amount<=50的數(shù)據(jù)

select * from t_income where amount between 10 and 50;

查詢表中amount 和 target_amount 總和 >=100并且<=500的數(shù)據(jù)

select * from t_income where (amount + target_amount) between 100 and 500;

查詢表中create_time 在 2019-01-01 到 2019-09-01 這個(gè)日期范圍內(nèi)的數(shù)據(jù)

select * from t_income where create_time between cast('2019-01-01' as DATE) and cast('2019-09-01' as DATE);

查詢表中amount < 10 或者 amount > 50 的數(shù)據(jù)

select * from t_income where amount not between 10 and 50;

between的總結(jié)

通過上面的講解,我們現(xiàn)在應(yīng)該已經(jīng)基本的學(xué)會(huì)了between的用法,但是如果在開發(fā)中,我們要查詢某個(gè)屬性大于某一個(gè)值 并且小于某個(gè)值的話,我們就只能用 > and <

mysql中的between邊界問題

between在不同的SQL中有不同的邊界包含問題,查了下mysql官網(wǎng)對(duì)于between的解釋。

在mysql中,between A and B 等同于表達(dá)式 >= A and <= B

官網(wǎng)地址:MySQL官網(wǎng)對(duì)于between的解釋

mysql中,當(dāng)對(duì)日期時(shí)間之類的字段進(jìn)行比較時(shí),需要注意幾個(gè)點(diǎn):

1.字段類型是date,年月日,類似‘2022-08-08’,between ‘2022-01-01’ and ‘2022-02-02’ 的查詢結(jié)果包括’2022-01-01’和’2022-02-02’

2.字段類型是datetime,年月日時(shí)分秒,類似‘2022-08-08 08:08:08’,若要查詢2022年1月1號(hào)(包含)到2022年2月2號(hào)(包含)的數(shù)據(jù),使用between ‘2022-01-01 00:00:00’ and ‘2022-02-02 23:59:59’,不要使用between ‘2022-01-01’ and ‘2022-02-03’,因?yàn)檫@句相當(dāng)于between ‘2022-01-01 00:00:00’ and ‘2022-02-03 00:00:00’,會(huì)將 '2022-02-03 00:00:00’的數(shù)據(jù)也查詢到

總結(jié)

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

相關(guān)文章

  • Navicat連接mysql報(bào)錯(cuò)1251錯(cuò)誤的解決方法

    Navicat連接mysql報(bào)錯(cuò)1251錯(cuò)誤的解決方法

    這篇文章主要為大家詳細(xì)介紹了Navicat連接mysql報(bào)錯(cuò)1251錯(cuò)誤的解決方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 詳解MySQL的字段默認(rèn)null對(duì)唯一索引的影響

    詳解MySQL的字段默認(rèn)null對(duì)唯一索引的影響

    這篇文章主要為大家介紹了MySQL的字段默認(rèn)null對(duì)唯一索引的影響詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Linux下MySQL 5.5.8 源碼編譯安裝記錄分享

    Linux下MySQL 5.5.8 源碼編譯安裝記錄分享

    Linux下MySQL 5.5.8 源碼編譯安裝記錄分享,需要的朋友可以參考下。
    2011-10-10
  • MySQL的權(quán)限管理設(shè)置方法

    MySQL的權(quán)限管理設(shè)置方法

    本文介紹了MySQL中的權(quán)限管理,包括查看、設(shè)置和撤銷權(quán)限,普通用戶只能查看自己的權(quán)限,設(shè)置權(quán)限需要管理員操作,管理員可以通過GRANT語句授予權(quán)限,并通過REVOKE語句撤銷權(quán)限,建議遵循最小權(quán)限原則,限制主機(jī)范圍,并定期審計(jì)權(quán)限,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • MySQL性能優(yōu)化 出題業(yè)務(wù)SQL優(yōu)化

    MySQL性能優(yōu)化 出題業(yè)務(wù)SQL優(yōu)化

    根據(jù)用戶的作答結(jié)果出練習(xí)卷,題目的優(yōu)先級(jí)為:未做過的題目>只做錯(cuò)的題目>做錯(cuò)又做對(duì)的題目>只做對(duì)的題目。
    2010-08-08
  • MySQL Proxy的安裝及基本命令使用教程

    MySQL Proxy的安裝及基本命令使用教程

    這篇文章主要介紹了MySQL Proxy的安裝及基本命令使用教程,MySQL Proxy通常被用作實(shí)現(xiàn)讀寫分離,需要的朋友可以參考下
    2015-12-12
  • MYSQL中 TYPE=MyISAM 錯(cuò)誤的解決方法

    MYSQL中 TYPE=MyISAM 錯(cuò)誤的解決方法

    這篇文章主要介紹了MYSQL中 TYPE=MyISAM 錯(cuò)誤的解決方法,需要的朋友可以參考下
    2014-08-08
  • Mysql中SUM()函數(shù)使用方法

    Mysql中SUM()函數(shù)使用方法

    這篇文章主要給大家介紹了關(guān)于Mysql中SUM()函數(shù)使用的相關(guān)資料,MySQL 的 SUM 函數(shù)可以用來對(duì)某個(gè)列進(jìn)行求和,但是如果你想要按照某個(gè)條件進(jìn)行求和,可以使用帶有WHERE子句的SUM函數(shù),需要的朋友可以參考下
    2023-08-08
  • 將數(shù)據(jù)插入到MySQL表中的詳細(xì)教程

    將數(shù)據(jù)插入到MySQL表中的詳細(xì)教程

    這篇文章主要介紹了將數(shù)據(jù)插入到MySQL表中的詳細(xì)教程,文中給出了在PHP腳本中操作的示例,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • MySQL約束之默認(rèn)約束default與零填充約束zerofill

    MySQL約束之默認(rèn)約束default與零填充約束zerofill

    這篇文章主要介紹了MySQL約束之默認(rèn)約束default與零填充約束zerofill,MySQL?默認(rèn)值約束用來指定某列的默認(rèn)值。更多相關(guān)資料需要的朋友可以參考一下
    2022-07-07

最新評(píng)論

扎鲁特旗| 沐川县| 澎湖县| 峡江县| 日喀则市| 从江县| 威海市| 渭源县| 武隆县| 乳源| 沂南县| 措勤县| 苏尼特左旗| 博罗县| 宁武县| 青阳县| 迭部县| 日土县| 宁明县| 海安县| 南和县| 隆尧县| 玉田县| 城市| 湟中县| 碌曲县| 南康市| 进贤县| 招远市| 汾阳市| 思南县| 海安县| 河北区| 汨罗市| 马边| 合川市| 茂名市| 金沙县| 辛集市| 来安县| 元江|