mysql 不通过函数获取中文字符串首字母大写
时间: 2024-01-06 19:04:31 浏览: 76
MySQL不支持直接获取中文字符串的首字母大写,需要通过自定义函数来实现。以下是一个简单的自定义函数的例子:
```
CREATE FUNCTION ucwords(str VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE c CHAR(1);
DECLARE s VARCHAR(255);
DECLARE i INT DEFAULT 1;
DECLARE f INT DEFAULT 1;
SET s = LCASE(str);
WHILE i <= CHAR_LENGTH(str) DO
SET c = SUBSTRING(s,i,1);
IF c = ' ' OR c = ',' OR c = '.' THEN
SET f = 1;
ELSEIF f = 1 THEN
SET s = CONCAT(s,UPPER(c));
SET f = 0;
ELSE
SET s = CONCAT(s,c);
END IF;
SET i = i + 1;
END WHILE;
RETURN s;
END;
```
使用方法:
```
SELECT ucwords('中国 beijing'); -- 输出:中国 Beijing
```
该函数将字符串中的每个单词的首字母大写,并返回新的字符串。
阅读全文