3

如何在 MySQL 中的另一个字符串(列)中找到一个字符串的第一个位置,不区分大小写?

我希望能够根据这个返回的数字 - 字符串位置进行排序。

4

3 回答 3

5

您可以使用INSTR(str,substr)

返回字符串中第一次出现子substr字符串的位置str。这与 的双参数形式相同LOCATE(),只是参数的顺序颠倒了。

SELECT INSTR('foobarbar', 'bar');
    -> 4
SELECT INSTR('xbar', 'foobar');
    -> 0
于 2013-07-05T07:30:08.137 回答
3

查看INSTR。它应该让你这样做。

于 2013-07-05T07:30:02.090 回答
3

尝试使用定位()

SELECT LOCATE('bar', 'fooBARBAR'); // return 4

此外,基于排序规则的mysql比较。例如。

SET NAMES 'binary';
SELECT LOCATE('bar', 'fooBARBAR'); // return 0

记住它。

另外,请阅读字符串搜索中的区分大小写

于 2013-07-05T07:31:45.163 回答