旧的SQLServerDB列具有排序规则sql\u latin1\u general\u cp1\u ci\u as(不区分大小写,区分重音)。
我们需要将此列迁移到一个已经创建并正在使用的aws aurora mysql示例中。
mysql 8的排序规则utf8mb4_0900_as_ci(不区分大小写,区分重音)。
然而,aws aurora目前使用的是MySQL5.7.12,它没有utf8mb4\U 0900\U作为\U ci。MySQL5.7.12没有
utf8mb4_bin(区分大小写,区分重音,因为它比较二进制)
utf8mb4\u unicode\u ci(不区分大小写,无法确定它是否区分重音)
utf8mb4\u unicode\u 520\u ci(不区分大小写,无法确定是否区分重音)
utf8mb4\u unicode\u ci或utf8mb4\u unicode\u 520\u ci是否区分重音?如果是的话,我可以用其中一个吗。
否则,除了使用utf8mb4_-bin之外,我看不到其他选项,因为它似乎是唯一可用的区分重音的排序规则,但是因为它区分大小写,所以我必须通过在where子句中使用小写来解决区分大小写的问题,但是这样做不会产生意外的副作用吗?
1条答案
按热度按时间yhqotfr81#
900表示unicode 9.0(最好,但8.0新增)
520表示unicode 5.20(最好在5.7中提供)
_unicode_ci
指unicode 4.0(旧版)_general_ci
(更不复杂)_ci
(无_as
)表示不区分大小写和重音。_bin
表示区分大小写和重音;比较位。mysql没有提供很多混合敏感度的排序规则。
使用
SHOW COLLATION;
查看系统中可用的排序规则。