oracle多音字查询

我在成员信息表中存入成员信息,包括成员的姓名 、姓名拼音,但是姓名的汉字可能是多音字,所以要怎么在拼音里存储才能输入多音字中的一个都能匹配到,例如:
姓名 = '李重' ,输入 lichong 和lizhong 都能查询出这个信息,那么拼音字段应该怎么存储呢,这里拼音字段内容没有做限制,只要能查询出就行,存储正则表达式也行,请问有高手能解决吗
忘记了还要实现 如果我输入'li'也能把 上面的信息查询,就是多音字查询的同时也支持模糊匹配!这个比较难,如果不支持模糊匹配的我已经解决了!
现在我采用存入固定的一个组拼音结果,然后查询之前组装正则表达式,但是组装时遇到了问题,怎么才能把输入的字符串按照拼去完整的分割成多个拼音,现在网上找到的正则表达式都不能最大化分割,而是采用最小化分割,例如 wang 它分割成了wa和ng。。。
最新回答
一页

2024-07-27 06:37:53

你的拼音字段存储的时候使用#分隔,比如lichong#lizhong
查询的时候使用模糊匹配 select * from table where pingyin like '%lizhong%';
追问
这样组合就太多了,现在就是要求不管姓名有多少个字,就算100个都是多音,也能查处,按照你的说法,那么100个多音组合就太多了