-
今天進行數據庫查詢時,使用到一個不太常用的SQL語句:FIND_IN_SET,做一學習記錄:
FIND_IN_SET(str,strlist):
第一個參數str,是一個不包含','的子字符串,
第二個參數strlist是一個由數個子字符串+','+...拼接的字符串鏈。
如果,子字符串在字符串鏈中包含,則返回該子字符串所在位置(1,2,3...)
-##### 可用於將多個查詢結果順序輸出;
-#### 注意事項: -
子字符串中不能包含逗號 (,);
-
如果字符串鏈為“”或字符串鏈中未包含返回0;
-
如果兩個參數中有NULL,則返回NULL
-
SELECT * FROM entity_song WHERE tsid IN ('6004005','8013840','7126169','6004523','6004111') ORDER BY FIND_IN_SET(tsid,'6004005,8013840,7126169,6004523,6004111')
如上,可將查詢結果按順序輸出。(注意,字符串鏈中不能有空格,否則會失效)