0712-2888027 189-8648-0214
微信公眾號

孝感風信網(wǎng)絡(luò)科技有限公司微信公眾號

當前位置:主頁 > 技術(shù)支持 > MySQL > 利用MySQL中FIND_IN_SET函數(shù)進行字段中包含某字符串條件查詢

利用MySQL中FIND_IN_SET函數(shù)進行字段中包含某字符串條件查詢

時間:2018-01-22來源:風信官網(wǎng) 點擊: 1980次
風信建站在實際的項目開發(fā)中,需要針對數(shù)據(jù)庫表中某一個字段進行多條件查詢
字段信息如下:

利用MySQL中FIND_IN_SET函數(shù)進行字段中包含某字符串條件查詢

分析該catid字段由多個值組成

需要滿足的多條件查詢是:滿足該字段中包含158,159,160,161

我們可以利用MySQL中的FIND_IN_SET(str,strlist) 函數(shù)

假如字符串str 在由N 子鏈組成的字符串列表strlist 中, 則返回值的范圍在 1 到 N 之間 。一個字符串列表就是一個由一些被‘,’符號分開的自鏈組成的字符串。如果第一個參數(shù)是一個常數(shù)字符串,而第二個是type SET列,則   FIND_IN_SET() 函數(shù)被優(yōu)化,使用比特計算。如果str不在strlist 或strlist 為空字符串,則返回值為 0 。如任意一個參數(shù)為NULL,則返回值為 NULL。 這個函數(shù)在第一個參數(shù)包含一個逗號(‘,’)時將無法正常運行。  

編寫查詢的SQL語句如下:

SELECT * FROM its_company WHERE vip > 0 and (find_in_set('158', catid) or find_in_set('159', catid) or find_in_set('160', catid) or find_in_set('161', catid))

通過Where條件后面使用多個find_in_set配合or的條件,同時滿足多個條件的查詢需求。

風信建站承接企業(yè)網(wǎng)站二次開發(fā),可滿足企業(yè)根據(jù)量身定制的需求,針對性開發(fā)適合企業(yè)自身的產(chǎn)品,幫助企業(yè)完善互聯(lián)網(wǎng)產(chǎn)品提供技術(shù)支持,如您有二次開發(fā)需求或企業(yè)建站改版等需求服務(wù)可與我們聯(lián)系,服務(wù)熱線:18986480214。
欄目列表
推薦內(nèi)容
熱點內(nèi)容
展開