MSSQL 到 MYSQL 迁移:等同于 SQL_LATIN1_GENERAL_CPI_CI_AS 的排序规则

MSSQL to MYSQL Migration: Collation equivalent for SQL_LATIN1_GENERAL_CPI_CI_AS

我正在将我的数据库从 MSSQL 迁移到 Aurora (MYSQL 5.7)。我想知道 MYSQL 中 SQL_LATIN1_GENERAL_CPI_CI_AS 的排序规则等价物。我能找到的最接近的使用 (SHOW COLLATION WHERE Charset = 'latin1';) 是 'latin1_general_ci'。

MySQL 没有任何 COLLATIONs 同时是 "case insensitive" 和 "accent sensitive".

如果您的数据中没有任何 "accents",那么这个问题就没有实际意义了。在那种情况下,latin1_general_ci 可能就是您想要的。

这是我在运行中看到的版本:

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
8 rows in set (0.00 sec)

非'general' 归类会根据国家/地区偏好稍微打乱重音字母。