SQL语句— FIND_IN_SET

  • 今天进行数据库查询时,使用到一个不太常用的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')

如上,可将查询结果按顺序输出。(注意,字符串链中不能有空格,否则会失效)
原文地址:https://www.cnblogs.com/boluofan/p/12488919.html