在SQL语句中使用校验规则
使用该COLLATE
子句,您可以覆盖默认的校验规则以进行比较。COLLATE
可以在SQL语句的各个部分中使用。这里有些例子:
与
ORDER BY
:SELECT kFROM t1ORDER BY kCOLLATE latin1_german2_ci;与
AS
:SELECT kCOLLATE latin1_german2_ciAS k1FROM t1ORDER BY k1;与
GROUP BY
:SELECT kFROM t1GROUP BY kCOLLATE latin1_german2_ci;具有聚合功能:
SELECT MAX(kCOLLATE latin1_german2_ci)FROM t1;与
DISTINCT
:SELECT DISTINCT kCOLLATE latin1_german2_ciFROM t1;与
WHERE
:SELECT *FROM t1WHERE _latin1 'Müller'COLLATE latin1_german2_ci = k;SELECT *FROM t1WHERE k LIKE _latin1 'Müller'COLLATE latin1_german2_ci;与
HAVING
:SELECT kFROM t1GROUP BY kHAVING k = _latin1 'Müller'COLLATE latin1_german2_ci;
子句优先级
该COLLATE
子句具有较高的优先级(高于||
),因此以下两个表达式是等效的:
x || yCOLLATE z x || (yCOLLATE z)