MySQL的FIND_IN_SET函數(shù)使用方法 |
發(fā)布時(shí)間: 2012/8/15 18:02:51 |
MySQL 的 find_in_set函數(shù)使用方法 很多時(shí)候我們?cè)谠O(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)有這種情況,比如: 有個(gè)文章表里面有個(gè)type字段,他存儲(chǔ)的是文章類(lèi)型,有 1頭條,2推薦,3熱點(diǎn),4圖文 .....11,12,13等等 現(xiàn)在有篇文章他既是 頭條,又是熱點(diǎn),還是圖文, type中以 1,3,4的格式存儲(chǔ). 那們我們?nèi)绾斡胹ql查找所有type中有4圖文標(biāo)準(zhǔn)的文章呢, 這就要我們的find_in_set出馬的時(shí)候到了. 先看mysql手冊(cè)中find_in_set函數(shù)的語(yǔ)法: FIND_IN_SET(str,strlist) 假如字符串str 在由N 子鏈組成的字符串列表strlist 中,則返回值的范圍在 1 到 N 之間。一個(gè)字符串列表就是一個(gè)由一些被‘,’符號(hào)分開(kāi)的自鏈組成的字符串。如果第一個(gè)參數(shù)是一個(gè)常數(shù)字符串,而第二個(gè)是type SET列,則 FIND_IN_SET() 函數(shù)被優(yōu)化,使用比特計(jì)算。如果str不在strlist 或strlist 為空字符串,則返回值為 0 。如任意一個(gè)參數(shù)為NULL,則返回值為 NULL。這個(gè)函數(shù)在第一個(gè)參數(shù)包含一個(gè)逗號(hào)(‘,’)時(shí)將無(wú)法正常運(yùn)行。 mysql> SELECT FIND_IN_SET('b','a,b,c,d'); -> 2 用起來(lái)很簡(jiǎn)單 就以上面我說(shuō)到的情況來(lái)舉例: 以下為引用的內(nèi)容: select * from article where FIND_IN_SET('4',type) 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |