AWS Aurora MySQL 5.7.12 чувствительная к ударению сортировка - PullRequest
0 голосов
/ 02 октября 2018

У устаревшего столбца SQLServer db есть сортировка SQL_Latin1_General_CP1_CI_AS (без учета регистра, с учетом акцента).

Нам необходимо перенести этот столбец в уже созданный и активно используемый экземпляр MySQL AWS Aurora.

MySQL 8 имеет параметры сортировки utf8mb4_0900_as_ci (без учета регистра, с учетом акцента).

AWS Aurora, однако, в настоящее время использует MySQL 5.7.12, который НЕ имеет utf8mb4_0900_as_ci.MySQL 5.7.12 имеет

  • utf8mb4_bin (чувствительно к регистру, чувствительно к акценту при сравнении двоичного файла)
  • utf8mb4_unicode_ci (без учета регистра, не смог выяснить, чувствительно ли оно к чувствительности к акценту)
  • utf8mb4_unicode_520_ci (без учета регистра, не удалось выяснить, чувствителен ли он к акценту)

utf8mb4_unicode_ci или utf8mb4_unicode_520_ci чувствительны к акценту?Если да, могу ли я просто использовать один из них (но какой?).

В противном случае, я не вижу другого выбора, кроме как использовать utf8mb4_bin, так как он кажется единственным доступным сопоставлением с чувствительностью к акценту, но потому что он чувствителен к региструМне пришлось бы обходить чувствительность к регистру, например, в нижнем регистре в предложениях WHERE, но будет ли это работать без нежелательных нежелательных побочных эффектов?

1 Ответ

0 голосов
/ 03 октября 2018

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;, чтобы увидеть, какие параметры сортировки доступны в вашей системе.

...