MySQL-mysql如何实现按拼音的首字母查询?

MySQL-mysql如何实现按拼音的首字母查询?

灵芸 发布于 2017-05-09 字数 259 浏览 1584 回复 3

有这么一个需求,根据英文首字母来查询某个字段的对应汉字开头的列,例如:
输入w,把table表中 字段 field 中以 “我、外、晚、万、王”等开头的都选取出来?

select * form table where field='w';

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

偏爱自由 2017-10-15 3 楼

有个实现的例子,你可以参考下,写的很详细,在这里就不贴代码了。

http://www.21andy.com/blog/20100406/1805.html

瑾兮 2017-08-13 2 楼

首先建立一个拼音首字母字母表,
create table pinyin (
initial varchar(2),
min_hz varchar(2),
max_hz varchar(2))
具体字母表的数值可以网上找下,接着把你要查询的table表跟字母表做连接,判断要查找的table表的field列的值是不是在所要查找的首字母表示的min_hz和max_hz字段值之间。

浮生未歇 2017-07-22 1 楼

编码为gb2312
SELECT *,CHAR(INTERVAL(CONV(HEX(left(field,1)),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBBF7,0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCDDA,0xCDDA,0xCEF4,0xD1B9,0xD4D1)+64) as PY from table;