10.8.1 在 SQL 语句中使用 COLLATE

使用COLLATE子句,您可以覆盖默认的默认排序规则以进行比较。 COLLATE可用于 SQL 语句的各个部分。这里有些例子:

  • 使用ORDER BY
SELECT k
FROM t1
ORDER BY k COLLATE latin1_german2_ci;
  • 使用AS
SELECT k COLLATE latin1_german2_ci AS k1
FROM t1
ORDER BY k1;
  • 使用GROUP BY
SELECT k
FROM t1
GROUP BY k COLLATE latin1_german2_ci;
  • 具有聚合功能:
SELECT MAX(k COLLATE latin1_german2_ci)
FROM t1;
  • 使用DISTINCT
SELECT DISTINCT k COLLATE latin1_german2_ci
FROM t1;
  • 使用WHERE
SELECT *
     FROM t1
     WHERE _latin1 'Müller' COLLATE latin1_german2_ci = k;
SELECT *
     FROM t1
     WHERE k LIKE _latin1 'Müller' COLLATE latin1_german2_ci;
  • 使用HAVING
SELECT k
FROM t1
GROUP BY k
HAVING k = _latin1 'Müller' COLLATE latin1_german2_ci;