濮阳杆衣贸易有限公司

主頁 > 知識庫 > 完美解決mysql in條件語句只讀取一條信息問題的2種方案

完美解決mysql in條件語句只讀取一條信息問題的2種方案

熱門標簽:西安400電話在哪里辦理 中科嘉智人工智能電銷機器人 電銷機器人好品牌門薩維l 做地圖標注都需要什么工具 凱立德科技館地圖標注 銀川電銷外呼系統(tǒng)定制 哈爾濱crm外呼系統(tǒng)價格 上海智能外呼系統(tǒng)需要多少錢 甘孜電話機器人廠家

今天同事在編寫MYSQL查詢語句時遇到一個很奇怪的問題,使用mysql多表查詢,一個表中的某個字段作為另一表的in查詢條件,只能讀取一條信息,而直接用數(shù)字的話可以正常讀取

SQL語句如下:

select a.id,a.title,b.idlist,b.aid from table a,table2 b where a.id in(b.idlist) and b.aid=2

table2表中的idlist字段是varchar類型,保存table表中的多個id信息即1,2,3,4

用上面的語句可以正常查詢但只能查詢到一條信息但是用下面的語句的話卻可以正常讀取

select a.id,a.title,b.idlist,b.aid from table a,table2 b where a.id in(1,2,3,4) and b.aid=2

很奇怪的問題,開始以為是數(shù)據(jù)類型的問題,但要保存成1,2,3,4這種格式的數(shù)據(jù)只能用字符類型,想了很多辦法都沒有解決問題,直到查到MYSQL中的FIND_IN_SET()函數(shù),下面是關于FIND_IN_SET()函數(shù)的基本介紹說明

語法:FIND_IN_SET(str,strlist)

定義:

1. 假如字符串str在由N子鏈組成的字符串列表strlist中,則返回值的范圍在1到N之間。

2. 一個字符串列表就是一個由一些被‘,'符號分開的自鏈組成的字符串。

3. 如果第一個參數(shù)是一個常數(shù)字符串,而第二個是typeSET列,則FIND_IN_SET()函數(shù)被優(yōu)化,使用比特計算。

4. 如果str不在strlist或strlist為空字符串,則返回值為0。

5. 如任意一個參數(shù)為NULL,則返回值為NULL。這個函數(shù)在第一個參數(shù)包含一個逗號(‘,')時將無法正常運行。

strlist:一個由英文逗號“,”鏈接的字符串,例如:"a,b,c,d",該字符串形式上類似于SET類型的值被逗號給鏈接起來。

示例:SELECT FIND_IN_SET('b','a,b,c,d'); //返回值為2,即第2個值

好了,先試試能不能用,把原SQL語句修改成

select a.id,a.title,b.idlist,b.aid from table a,table2 b where FIND_IN_SET(a.id,b.idlist) and b.aid=2

執(zhí)行一下修改后的語句,終于可以正常讀取了,分析一下原因,最終還是因為數(shù)據(jù)類型的問題,我們直接in(b.idlist)時,讀取的b.idlist是字符類型,而in只接受數(shù)字,雖說都帶有“,”號但實際上是完全不同的.

好了問題解決了,如果還想知道更多關于FIND_IN_SET()函數(shù)的使用方法,可以看一下頁面的相關文章

您可能感興趣的文章:
  • 分析Mysql表讀寫、索引等操作的sql語句效率優(yōu)化問題
  • MySQL根據(jù)某一個或者多個字段查找重復數(shù)據(jù)的sql語句
  • PHP獲取MySQL執(zhí)行sql語句的查詢時間方法
  • Mysql查詢最近一條記錄的sql語句(優(yōu)化篇)
  • Mysql 根據(jù)一個表數(shù)據(jù)更新另一個表的某些字段(sql語句)
  • MySQL 截取字符串函數(shù)的sql語句
  • 使用SQL語句查詢MySQL,SQLServer,Oracle所有數(shù)據(jù)庫名和表名,字段名
  • 提升MYSQL查詢效率的10個SQL語句優(yōu)化技巧
  • 一條sql語句完成MySQL去重留一
  • MySQL語句整理及匯總介紹

標簽:平頂山 山南 濮陽 那曲 四川 浙江 安徽 安康

巨人網(wǎng)絡通訊聲明:本文標題《完美解決mysql in條件語句只讀取一條信息問題的2種方案》,本文關鍵詞  完美,解決,mysql,條件,語句,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《完美解決mysql in條件語句只讀取一條信息問題的2種方案》相關的同類信息!
  • 本頁收集關于完美解決mysql in條件語句只讀取一條信息問題的2種方案的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    嘉荫县| 小金县| 全州县| 英超| 丁青县| 云阳县| 英山县| 隆安县| 鹤岗市| 曲麻莱县| 桂林市| 太原市| 隆回县| 灵丘县| 望城县| 石河子市| 广宁县| 奉贤区| 平舆县| 昌江| 舒城县| 米易县| 石嘴山市| 东乌珠穆沁旗| 馆陶县| 吐鲁番市| 民乐县| 二连浩特市| 固安县| 门源| 曲松县| 万安县| 承德县| 湘潭县| 元朗区| 香格里拉县| 荔浦县| 和静县| 吉林省| 锦屏县| 湄潭县|