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