Interbase 中文模糊搜寻 UDF

2008-02-23 05:31:58来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

寻任何名字含有和'逍遥'读音相近的记录
select * from table1 where chinesesoundlike(name,'逍遥',11)<>0

得到名字的读音编码 (类似于双拼的编码)
select name,getchinesecode(name,1) from table1


1.新增的适用于 GB 简体中文 和 BIG5 繁体中文的函数:
GETCHINESECODE('中文',选项)
能够得到中文读音的编码,相同的读音会得到相同的编码。
选项: <>0:简体中文(GB), 0:繁体中文(BIG5)

CHINESESOUNDLIKE('中文甲','中文乙',选项)
会按『选项』的方法比较两个中文的读音是否相同或相近。
繁体中文选项: 0:一般选项, 1:不区分ㄓ ㄔ ㄕ 和 ㄗ ㄘ ㄙ, 2:任意順序, 3:包括 1 和 2
简体中文选项: 8:一般选项, 9:不区分Zh Ch Sh 和 z c s , 10:任意順序, 11:包括 9 和 10
假如读音相同或相近,返回值 <> 0

2.只适用于中国大陆的 GB 简体中文(兼容以前版本):
GBKSPCODE('中文')
能够得到中文读音编码,相同的读音会得到相同的编码。

GBKSOUNDLIKE('中文甲','中文乙',选项)
会按『选项』的方法比较两个中文的读音是否相同或相近。
简体中文选项: 0:一般选项, 1:不区分Zh Ch Sh 和 z c s , 2:任意順序, 3:包括 1和 2
假如读音相同或相近,返回值 <> 0

安装方法:
1.把动态链接库 VictorIbUa.dll 复制到 Interbase 的 UDF 文档夹。
2.执行下面的 SQL 注册, 这些 UDF 函数就能够使用了:

/*****************************************************************************/
/* char *__export fn_getspcode(char *s); */
/*****************************************************************************/

DECLARE EXTERNAL FUNCTION GBKSPCODE CSTRING(80)
RETURNS CSTRING(1024) FREE_IT
ENTRY_POINT 'fn_getspcode' MODULE_NAME 'victoribua';

/*****************************************************************************/
/* short __export fn_gbksndlike(char *sstr, char *ssub, short *options); */
/* options: 0:一般选项, 1:不区分Zh Ch Sh 和 z c s , 2:任意順序, 3:包括1和2 (GBK) */
/*****************************************************************************/

DECLARE EXTERNAL FUNCTION GBKSOUNDLIKE CSTRING(256),CSTRING(256),SMALLINT
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'fn_gbksndlike' MODULE_NAME 'victoribua';

/*****************************************************************************/
/* char *__export fn_getchinesecode(char *s, short *options); */
/* options: =0:BIG5, <>0:GBK */
/*****************************************************************************/

DECLARE EXTERNAL FUNCTION GETCHINESECODE CSTRING(80),SMALLINT
RETURNS CSTRING(1024) FREE_IT
ENTRY_POINT 'fn_getchinesecode' MODULE_NAME 'victoribua';

/*****************************************************************************/
/* short __export fn_chinesesndlike(char *sstr, char *ssub, short *options); */
/* options: 0:一般选项, 1:不区分Zh Ch Sh 和 z c s , 2:任意順序, 3:包括1和2 (BIG5) */
/* 以上值 8 (GBK) */
/*****************************************************************************/

DECLARE EXTERNAL FUNCTION CHINESESOUNDLIKE CSTRING(256),CSTRING(256),SMALLINT
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'fn_chinesesndlike' MODULE_NAME 'victoribua';

/*****************************************************************************/




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: C 词汇解析集锦 编程研发人员必备

下一篇: CPU 测速(MHz)和高精度延时(微秒级)

热门词条
热门标签