若要以第一方式进行操作(从单词的开头,单词的中间到单词的结尾),请尝试以下操作:
SELECT word
FROM words
WHERE word LIKE '%searchstring%'
ORDER BY
CASE
WHEN word LIKE 'searchstring%' THEN 1
WHEN word LIKE '%searchstring' THEN 3
ELSE 2
END
若要第二种方式(匹配字符串的位置),请使用以下LOCATE
函数:
SELECT word
FROM words
WHERE word LIKE '%searchstring%'
ORDER BY LOCATE('searchstring', word)
您还可能需要决胜局,例如,多个单词以开头hab
。为此,我建议:
SELECT word
FROM words
WHERE word LIKE '%searchstring%'
ORDER BY <whatever>, word
在以开头的多个单词的情况下,以开头hab
的单词hab
将被分组在一起并按字母顺序排序。