如何在MySQL中实现initcap功能?

如何在MySQL中实现initcap功能?,第1张

如何在MySQL中实现initcap功能?

有时候我在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');


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4981293.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存