mysql中FIND_IN_SET方法學(xué)習(xí)

在mysql中站欺,有時我們在做數(shù)據(jù)庫查詢時,需要得到某字段中包含某個值的記錄甜癞,但是它也不是用like能解決的爷怀,使用like可能查到我們不想要的記錄,它比like更精準带欢,這時候mysql的FIND_IN_SET函數(shù)就派上用場了,下面來具體了解一下

官方對此函數(shù)的說明

  • FIND_IN_SET(str,strlist)
    Returns a value in the range of 1 to N if the string str is in the string list strlist consisting of N substrings. A string list is a string composed of substrings separated by , characters. If the first argument is a constant string and the second is a column of type SET, the FIND_IN_SET() function is optimized to use bit arithmetic. Returns 0 if str is not in strlist or if strlist is the empty string. Returns NULL if either argument is NULL. This function does not work properly if the first argument contains a comma (,) character.

大致翻譯如下:

如果字符串str在由N個子字符串組成的字符串列表strlist中烤惊,則返回1到N范圍內(nèi)的值乔煞。 字符串列表是由字符組成的字符串,字符串之間用","分隔柒室。 如果第一個參數(shù)是常量字符串渡贾,第二個參數(shù)是SET類型的列,則FIND_IN_SET()函數(shù)優(yōu)化為使用位運算雄右。 如果str不在strlist中或如果strlist是空字符串空骚,則返回0纺讲。 如果任一參數(shù)為NULL,則返回NULL囤屹。 如果第一個參數(shù)包含逗號(熬甚,)字符,此函數(shù)無法正常工作肋坚。

例如:

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2

示例:

CREATE TABLE `textbook` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(500) NOT NULL,
  `path_ids` VARCHAR(500) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
insert into `textbook` (`id`, `name`, `path_ids`) values('1','6. 靜夜思','1,2,3');
insert into `textbook` (`id`, `name`, `path_ids`) values('2','7. 小小的船','2,3,5');
insert into `textbook` (`id`, `name`, `path_ids`) values('4','10. 比尾巴','3,9,5');
SELECT * FROM textbook WHERE FIND_IN_SET('3', path_ids);

使用in乡括、find_in_set按順序查出來

SELECT * FROM textbook WHERE id IN(3,1,4,2) ORDER BY FIND_IN_SET(id,'3,1,4,2');

mysql所有方法和操作符

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市智厌,隨后出現(xiàn)的幾起案子诲泌,更是在濱河造成了極大的恐慌,老刑警劉巖铣鹏,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敷扫,死亡現(xiàn)場離奇詭異,居然都是意外死亡诚卸,警方通過查閱死者的電腦和手機葵第,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惨险,“玉大人羹幸,你說我怎么就攤上這事”栌洌” “怎么了栅受?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恭朗。 經(jīng)常有香客問我屏镊,道長,這世上最難降的妖魔是什么痰腮? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任而芥,我火速辦了婚禮,結(jié)果婚禮上膀值,老公的妹妹穿的比我還像新娘棍丐。我一直安慰自己,他們只是感情好沧踏,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布歌逢。 她就那樣靜靜地躺著,像睡著了一般翘狱。 火紅的嫁衣襯著肌膚如雪秘案。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音阱高,去河邊找鬼赚导。 笑死,一個胖子當著我的面吹牛赤惊,可吹牛的內(nèi)容都是我干的吼旧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荐捻,長吁一口氣:“原來是場噩夢啊……” “哼黍少!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起处面,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤厂置,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后魂角,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岂津,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡文搂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒典。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡尝蠕,死狀恐怖礁击,靈堂內(nèi)的尸體忽然破棺而出庄萎,到底是詐尸還是另有隱情,我是刑警寧澤挣惰,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布卧斟,位于F島的核電站,受9級特大地震影響憎茂,放射性物質(zhì)發(fā)生泄漏珍语。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一竖幔、第九天 我趴在偏房一處隱蔽的房頂上張望板乙。 院中可真熱鬧,春花似錦拳氢、人聲如沸募逞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凡辱。三九已至,卻和暖如春栗恩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工磕秤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乳乌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓市咆,卻偏偏與公主長得像汉操,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蒙兰,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容