在 MySQL 数据库中查找确切的单词

Find exact word in MySQL database

我想使用 MySQL 查询在特定列中找到提取词。这里是我的 table 名称 demo 和列名称“words”,其中包含值“அன்பே”。我想找到准确的“அன்பே”。

我使用了以下查询

create table demo(words nvarchar(200));

insert into demo values (N'அன்பே');

select * from demo where words=N'அன்பே';

select * from demo where words like N'அன்பே';

这两个 select 查询无法工作。

您必须使用正确的字符集(并且在比较时 - 正确的排序规则):

SHOW VARIABLES LIKE 'character_set_%';
SET character_set_client=utf8mb4;
SET character_set_connection=utf8mb4;
SET character_set_results=utf8mb4;
SHOW VARIABLES LIKE 'character_set_%';
Variable_name Value
character_set_client latin1
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Variable_name Value
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database latin1
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
create table demo(words nvarchar(200) ) CHARACTER SET utf8mb4;
insert into demo values (_utf8mb4'அன்பே');
SELECT * FROM demo;

select * from demo where words='அன்பே';

select * from demo where words like 'அன்பே';
| words           |
| :-------------- |
| அன்பே |

| words           |
| :-------------- |
| அன்பே |

| words           |
| :-------------- |
| அன்பே |

db<>fiddle here