
有时候我在MySQL中寻找内置的initcap /
ucfirst函数,但不幸的是找不到这样的字符串函数,所以决定写我自己的..感谢MySQL社区成员纠正了我函数中的错误并将其发布回去。
DELIMITER $$DROP FUNCTION IF EXISTS `test`.`initcap`$$CREATE FUNCTION `initcap`(x char(30)) RETURNS char(30) CHARSET utf8BEGINSET @str='';SET @l_str='';WHILE x REGEXP ' ' DOSELECT SUBSTRING_INDEX(x, ' ', 1) INTO @l_str;SELECT SUBSTRINg(x, LOCATE(' ', x)+1) INTO x;SELECT CONCAt(@str, ' ', CONCAt(UPPER(SUBSTRINg(@l_str,1,1)),LOWER(SUBSTRINg(@l_str,2)))) INTO @str;END WHILE;RETURN LTRIm(CONCAt(@str, ' ', CONCAt(UPPER(SUBSTRINg(x,1,1)),LOWER(SUBSTRINg(x,2)))));END$$DELIMITER ;Usage:select initcap('This is test string');欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)