示例说明:通过name字段模糊匹配t_user表中的数据
select * from t_user t where (instr(t.name,#{name}) > 0 or instr(fn_getpy(t.name,3),#{name}) > 0 or instr(fn_getpy(t.name,4),#{name}) > 0)
其中:
(instr(t.name,#{name}) > 0 通过汉字模糊匹配 例: name为维克托,输入维克托三个字中的任意组合都可以匹配到;
instr(fn_getpy(t.name,3),#{name}) 通过汉字拼音首字母小写匹配 例:name为维克托,输入wkt 进行匹配查询;
instr(fn_getpy(t.name,4),#{name}) 通过汉字拼音首字母大写匹配 例:name为维克托,输入WKT 进行匹配查询;
这样的话在页面通过name条件查询时输入这三种情况就都可以查询到相应的数据了。