0
我在用户添加数据的mysql表中有一列。一些用户喜欢使用适当的大写字母,有些像大写字母,有些全是小写字母。MYSQL - 大写每个句子中第一个单词的第一个字母
我想要做的是改变: CHECK BUILDING。
收件人: 检查大楼。
And: DELIVER PAPERS。解锁门。
收件人: 送纸。解锁门。
我假设一个函数可以做到这一点,所以我可以重新使用它。
任何想法?
我试过这个,但它并不是每个单词都不是句子中的第一个单词。
BEGIN
DECLARE c CHAR(1);
DECLARE s VARCHAR(128);
DECLARE i INT DEFAULT 1;
DECLARE bool INT DEFAULT 1;
DECLARE punct CHAR(17) DEFAULT '?.!-';
SET s = LCASE(str);
WHILE i < LENGTH(str) DO
BEGIN
SET c = SUBSTRING(s, i, 1);
IF LOCATE(c, punct) > 0 THEN
SET bool = 1;
ELSEIF bool=1 THEN
BEGIN
IF c >= 'a' AND c <= 'z' THEN
BEGIN
SET s = CONCAT(LEFT(s,i-1),UCASE(c),SUBSTRING(s,i+1));
SET bool = 0;
END;
ELSEIF c >= '0' AND c <= '9' THEN
SET bool = 0;
END IF;
END;
END IF;
SET i = i+1;
END;
END WHILE;
RETURN s;
END
那么你可以尝试自己做一些尝试 - 如果它不起作用 - 显示你已经尝试过,也许你会得到一些关于如何使它工作的建议。 – PaulF
用我试过的编辑。不要热衷于mysql的功能。这个问题必须是有人遇到过的问题,那么为什么要重新发明轮子,如果某个人有共享的功能,将不胜感激! – ManovrareSoft
使用触发器确保数据以您决定的方式存储! – jarlh