• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 在SQL语句中使用校验规则

    使用该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;
      

    子句优先级

    COLLATE子句具有较高的优先级(高于||),因此以下两个表达式是等效的:

    x || y COLLATE z
    x || (y COLLATE z)