MariaDB社区

标题: 汉字转拼音首字母的 Function [打印本页]

作者: xiaofenl    时间: 2009-3-29 23:04
标题: 汉字转拼音首字母的 Function
本帖最后由 xiaofenl 于 2011-2-7 22:59 编辑

DELIMITER $$
DROP FUNCTION IF EXISTS `py`$$
CREATE    FUNCTION `py`(a NVARCHAR(80)) RETURNS VARCHAR(80) CHARSET utf8
BEGIN
    DECLARE i INT DEFAULT 1 ;
    DECLARE strlen INT DEFAULT LENGTH(a);
    DECLARE str1 NVARCHAR(2) DEFAULT '';
    DECLARE outstr NVARCHAR(80) DEFAULT '';
    WHILE i<=strlen DO
       SELECT py_code INTO str1 FROM basic_pinyin WHERE `CHINESE`=(SUBSTRING(a,i,1));
       SET outstr=CONCAT(outstr,str1);
       SET str1='';
       SET i=i+1;
    END WHILE;
    SET outstr= UCASE(outstr);
    RETURN outstr;
END$$
DELIMITER ;

效率不是很高,哪位大侠可以指点下,怎么改进比较好?

=====================================================================
老贴,今天没事做,把数据表补上。好像共有2万多中文字。。。。。改了下索引,效率高很多了。。。哦还有,怎限制只能传5K啊。。。也太那个啥了吧。。

pycode.part19.rar

3.33 KB, 下载次数: 1375

pycode.part01.rar

4.88 KB, 下载次数: 1526

pycode.part02.rar

4.88 KB, 下载次数: 1356

pycode.part03.rar

4.88 KB, 下载次数: 1439

pycode.part04.rar

4.88 KB, 下载次数: 1256

pycode.part05.rar

4.88 KB, 下载次数: 1321

pycode.part06.rar

4.88 KB, 下载次数: 1309

pycode.part07.rar

4.88 KB, 下载次数: 1283

pycode.part08.rar

4.88 KB, 下载次数: 1345

pycode.part09.rar

4.88 KB, 下载次数: 1220

pycode.part10.rar

4.88 KB, 下载次数: 1315

pycode.part11.rar

4.88 KB, 下载次数: 1243

pycode.part12.rar

4.88 KB, 下载次数: 1294

pycode.part13.rar

4.88 KB, 下载次数: 1292

pycode.part14.rar

4.88 KB, 下载次数: 1234

pycode.part15.rar

4.88 KB, 下载次数: 1126

pycode.part16.rar

4.88 KB, 下载次数: 1312

pycode.part17.rar

4.88 KB, 下载次数: 1254

pycode.part18.rar

4.88 KB, 下载次数: 1217


作者: kider    时间: 2009-3-30 14:00
不错,赞!

java中也有这样的函数
作者: xiaofenl    时间: 2009-3-31 00:28
本帖最后由 xiaofenl 于 2009-3-31 00:29 编辑
不错,赞!

java中也有这样的函数
kider 发表于 2009-3-30 14:00



Java的是内部函数吗
作者: kider    时间: 2009-3-31 10:36
忘了,你找找吧,而且效率很高...
作者: xiaofenl    时间: 2009-3-31 20:49
3Q!




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2