Как обрабатывать не ascii символы в предложении where
Я сталкиваюсь с проблемой не-ascii символа в предложении where с использованием Oracle, MySQL, запроса снежинки.
выберите * из таблицы, где col = 'Niño Pobre, Niño Rico';
Этот запрос не возвращает результата.
Есть ли какое-либо решение для обработки не ascii символа в предложении where, тогда, пожалуйста, ответьте мне.
Благодарю.
0 ответов
Морсин и user3278684 оставили комментарии о хранилище данных Snowflake.
В Snowflake при работе с данными на нескольких языках очень полезна функция COLLATION().
- https://docs.snowflake.net/manuals/sql-reference/functions/collate.html
- https://docs.snowflake.net/manuals/sql-reference/functions/collation.html
- Соображения и ограничения, а также поддерживаемые функции, используемые для поиска, перечислены: https://docs.snowflake.net/manuals/sql-reference/collation.html
Скажем, например, у вас есть таблица с двумя столбцами под названием Feedback.
| id | feedback_string |
| 1 | 'Ниà ± о Побре, Ни ± о Рико'|
ВЫБЕРИТЕ сопоставление (обратная_строка) из обратной связи ГДЕ обратная_строка, например "% Ниà ± о Побре, Ниà ± о Рико%";
Если вы хотите создать таблицу для поиска строк на определенном языке, вы можете создать такую же таблицу в Snowflake следующим образом:
СОЗДАТЬ ТАБЛИЧНУЮ обратную связь (идентификатор NUMBER, feedback_string varchar(20) collate 'sp');
INSERT INTO collation1 (v) VALUES (1, 'Nià ± o Pobre, Nià ± o Rico');
тогда вы можете искать с помощью Like, но знайте, что поиск N будет близок к Ã ±.