汉字转拼音首字母的 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啊。。。也太那个啥了吧。。
不错,赞!
java中也有这样的函数 本帖最后由 xiaofenl 于 2009-3-31 00:29 编辑
不错,赞!
java中也有这样的函数
kider 发表于 2009-3-30 14:00 http://www.mysqlpub.com/images/common/back.gif
Java的是内部函数吗 忘了,你找找吧,而且效率很高... 3Q!
页:
[1]