国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Mysql 查詢以逗號(,)分割的字符串,精確查找和模糊查詢

這篇具有很好參考價值的文章主要介紹了Mysql 查詢以逗號(,)分割的字符串,精確查找和模糊查詢。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

測試示例

1、測試數(shù)據(jù)庫表結構
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test`  (
  `id` bigint(20) NOT NULL COMMENT '主鍵id',
  `ancestors` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '組織層級',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

2、測試數(shù)據(jù)
INSERT INTO `test` VALUES (1, '0,1,2,3');
INSERT INTO `test` VALUES (2, '0,2,4,5,6');
INSERT INTO `test` VALUES (3, '11,33,6,22');
INSERT INTO `test` VALUES (4, '0,1,2,3,4,5,6,7,8,9,11');
INSERT INTO `test` VALUES (5, '2,3,4,5,6,7');
INSERT INTO `test` VALUES (6, '1,22,66,16,36');
INSERT INTO `test` VALUES (7, '46,12,32,18');
INSERT INTO `test` VALUES (8, '77,76,75,74');

SET FOREIGN_KEY_CHECKS = 1;

需求描述

數(shù)據(jù)庫有一個字段ancestors存儲著部門父級id,每,用逗號分隔符隔開。比如:ancestors:“0,1,2,3,4,5,6,7,8,11,12,9,10,13"”,我需要查詢ancestors字段中包含“2”的信息

-- 表中數(shù)據(jù)示例
select * from `test` 

結果:
mysql切割字符串后查詢,MySQL,mysql,數(shù)據(jù)庫,sql

使用 LIKE 模糊查詢

select * from `test` where ancestors like '%8';

結果:

mysql切割字符串后查詢,MySQL,mysql,數(shù)據(jù)庫,sql

使用 FIND_IN_SET 函數(shù) 【推薦】

使用 FIND_IN_SET 函數(shù)能夠準確查出 ancestors字段中含有 2 這項有哪些

select id,ancestors from `test` where find_in_set('2',ancestors) GROUP BY id;

結果:
mysql切割字符串后查詢,MySQL,mysql,數(shù)據(jù)庫,sql

使用 mysql 的正則表達式

我們在SQL中用WHERE子句搜索匹配的條件時,常用到LIKE關鍵字,今天來簡單介紹另一種更加強大的關鍵字: REGEXP, 正則匹配。

select id,ancestors from `test` where ancestors REGEXP '.*2';

結果:
mysql切割字符串后查詢,MySQL,mysql,數(shù)據(jù)庫,sql

使用 mysql 的LOCATE 函數(shù)

這個函數(shù),會把你查詢出含有查找 “ 2 ” 的數(shù)據(jù)

select id,ancestors from `test` where LOCATE ('2',ancestors);

結果:
mysql切割字符串后查詢,MySQL,mysql,數(shù)據(jù)庫,sql文章來源地址http://www.zghlxwxcb.cn/news/detail-680168.html

到了這里,關于Mysql 查詢以逗號(,)分割的字符串,精確查找和模糊查詢的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • mysql獲取第一個逗號前面的字符串

    mysql獲取第一個逗號前面的字符串

    字符串內(nèi)容如下: 想獲取,第一個逗號前面的字符串,即:統(tǒng)編版(2019) 需要第一獲取逗號的下標位置,然后再截取字符串 獲取逗號的函數(shù)使用:LOCATE 結果如下: ?然后使用 left 函數(shù)截取字符串,代碼如下: 結果如下: 統(tǒng)編版(2019)

    2024年02月13日
    瀏覽(20)
  • Windows BAT批處理字符串相關操作(字符串定義、分割、拼接、替換、切片、查找)

    使用 set 來定義字符串 代碼說明: 將字符串Hello賦值給string1的變量 使用 %string1%%string2% 的方式完成字符串的拼接。 代碼說明: 用來連接字符串的字符串,如果包含了特殊字符則需要使用 ^ 轉義,并且需要使用 \\\"\\\" 括起來,特殊字符包括(但不限于): 符號 作用 @ 命令行回顯

    2024年02月12日
    瀏覽(29)
  • 【C#】Sql Server 設置IN查詢方法內(nèi)的參數(shù),固定參數(shù)、動態(tài)參數(shù)以及通過分隔含有逗號隔開的字符串轉數(shù)據(jù)集

    在平時使用sql語句查詢時,in查詢肯定少不了,多數(shù)用于一些數(shù)據(jù)統(tǒng)計或者測試類。in查詢并不建議放到實際常用的查詢列表里。 此篇文章主要簡單聊聊,in查詢方法內(nèi)的參數(shù)設置方式,以及通過分隔函數(shù)將含有逗號隔開的字符串轉為數(shù)據(jù)集進行查詢 在 SQL Server 中,你可以使

    2024年02月15日
    瀏覽(57)
  • java將list轉為逗號隔開字符串,將逗號連接的字符串轉成字符數(shù)組,?將逗號分隔的字符串轉換為List?(Java逗號分隔-字符串與數(shù)組相互轉換)

    java將list轉為逗號隔開字符串,將逗號連接的字符串轉成字符數(shù)組,?將逗號分隔的字符串轉換為List?(Java逗號分隔-字符串與數(shù)組相互轉換)

    ? ?參考:java將list轉為逗號隔開字符串_51CTO博客_list轉字符串逗號隔開 Java將字符串轉化為數(shù)組_java 字符串轉數(shù)組-CSDN博客? Java逗號分隔-字符串與數(shù)組相互轉換-CSDN博客 ?

    2024年02月08日
    瀏覽(42)
  • 探索 MySQL 中的字符串分割技巧與竅門

    在MySQL中,字符串分割是一個常見的操作,用于將一個包含多個子字符串的大字符串拆分成多個部分。以下是幾種常見的在MySQL中進行字符串分割的方法: SUBSTRING_INDEX函數(shù) : 這個函數(shù)可以用來從一個字符串中按照指定的分隔符提取子字符串。它的語法如下: str :要分割的字

    2024年02月06日
    瀏覽(21)
  • 【問題解決】mysql 數(shù)據(jù)庫字符串分割之后多行輸出方法

    項目需要從一張表查詢出來數(shù)據(jù)插入到另一張表,其中有一個字段是用逗號分隔的字符串,需要多行輸入到另一張表,那么這個如何實現(xiàn)呢 下面先粘貼下sql語句: 參數(shù)解釋 1.SUBSTRING_INDEX(str, delimiter, count) ? ? 參數(shù)解釋 ? ? str :必填。STRING類型。待截取的字符串 ? ? separat

    2024年02月14日
    瀏覽(20)
  • MySQL中字符串查詢效率大比拼

    MySQL中字符串查詢效率大比拼

    最近有個同事對字符串加索引,加完后,發(fā)現(xiàn)多了個奇奇怪怪的數(shù)字 執(zhí)行的SQL如下: 這個奇怪數(shù)字就是191,它很是疑惑,也沒指定索引的長度 通過查看MySQL官方文檔 InnoDB has a maximum index length of 767 bytes for tables that use COMPACT or REDUNDANT row format, so for utf8mb3 or utf8mb4 columns, you ca

    2024年02月07日
    瀏覽(14)
  • java將list轉為逗號隔開字符串

    通過StringUtils的join函數(shù)直接獲取逗號隔開字符串 最近用到很多字符串拼接的場景,自己做一點梳理和記錄,方便使用的時候獲取。 1、將listString轉為逗號隔開字符串 1)只要不為空,就在后面添加逗號,最后再用subString()函數(shù)截取,去掉最后一位的逗號 ?ListString test = new

    2024年02月09日
    瀏覽(25)
  • 按分隔符分割字符串(DB2/mysql/hive/Oracle)

    按分隔符分割字符串(DB2/mysql/hive/Oracle)

    1、DB2 --substr+locate/instr DB2沒有自己按分隔符分割字符串的函數(shù),只能結合使用 或者在DB2里還可以自己寫一個split分割字符串的函數(shù) 附:instr函數(shù)用法--用來查找指定字符在字符串中出現(xiàn)的位置 DB2中的locate 函數(shù)可實現(xiàn)同樣的功能,用法同 instr ,只是源字符串和目標字符串的位

    2024年02月13日
    瀏覽(29)
  • Java獲取字符串中逗號前的內(nèi)容

    可以使用Java的 indexOf 和 substring 方法來獲取字符串中逗號前的內(nèi)容。 首先,使用 indexOf 方法找到逗號在字符串中的位置,然后使用 substring 方法截取字符串中從開頭到逗號位置之前的內(nèi)容。 例如,假設你有一個字符串 str ,它的值為 \\\"apple,banana,orange\\\",要獲取逗號前的內(nèi)容(也

    2024年02月16日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包