最近,我遇到了MySQL查询的一些问题。我有包含多个语言记录的表。例如,列是ID和描述。它具有类似Кирилица的1个测试的数据。 2不使用西里尔字母进行测试。我需要从“选择”查询中删除所有西里尔符号。选择答案必须类似于1进行测试; 2不进行西里尔字母测试。似乎我需要使用“选择替换”查询,但是否有比替换标题和小写字母查询中的66个字符更快的方法。
我已经尝试过类似的方法。但是,当然这是行不通的。希望从MySQL Gurus获得帮助。感谢您的关注
SELECT id,SUBSTRING_INDEX(title, REGEXP "[а-яА-Я]", 1)
FROM Test
最佳答案
AFAIK没有比这更快的方法
SELECT id, REGEXP_REPLACE(title, '[Ѐ-ӿ]+', '') AS title FROM test;
Fiddle
(
"Ѐ"
和"ӿ"
分别是Unicode西里尔字母块的第一个和最后一个字符。如果使用[а-яА-Я]
,则可能会错过俄语以外的语言的西里尔字母,甚至俄语Ё也是如此。)关于mysql - 从MySQL选择字符串中删除西里尔字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56424355/