扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 Arp 来源:天新网 2008年3月22日
关键字: 数据库 Mssql SQL Server SQL
在本页阅读全文(共3页)
到此为止,我们可以得到结果了,比如我们想得到汉字“国”的笔划:
|
上面所有准备过程,只是为了写下面这个函数,这个函数撇开上面建的所有临时表和固定表,为了通用和代码转移方便,把表tab_hzbh的内容写在语句内,然后计算用户输入一串汉字的总笔划:
|
函数调用实例:
select dbo.fun_getbh("中华人民共和国"),dbo.fun_getbh("中華人民共和國")
执行结果:笔划总数分别为39和46,简繁体都行。
当然,你也可以把上面“UNION ALL”内的汉字和笔划改存在固定表内,在汉字列建CLUSTERED INDEX,列排序规则设定为:
Chinese_PRC_Stroke_CS_AS_KS_WS
这样速度更快。如果你用的是BIG5码的操作系统
用排序规则的特性得到汉字拼音首字母
用得到笔划总数相同的方法,我们也可以写出求汉字拼音首字母的函数。如下:
|
函数调用实例:
select dbo.fun_getPY("中华人民共和国"),dbo.fun_getPY("中華人民共和國")
结果都是:ZHRMGHG
大家如果有兴趣,可以使用相同的方法,扩展得到汉字全拼的函数,甚至你还可以得到全拼的读音声调,不过全拼分类大多了。得到全拼最好还是用对照表,两万多汉字搜索速度显然很快,另外,用对照表还可以充分利用表的索引。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。