2017-03-23 32 views
0

什么是使用MySQL命令行 示例将文本转换为正确的情况下,最好的方法文本转换为正确的情况下:李四转换成李四如何使用MySQL命令行

+0

检查这一个http://stackoverflow.com/questions/15290754/sql-capitalize-first-letter-only –

回答

0

在一前一后在这里Capitalize first letter. MySQL回答如果您在数据库中创建了以下功能,那么它也可以在命令行上使用,这将大写字符串中的每个单词。

DELIMITER || 

CREATE FUNCTION `UC_Words`(str VARCHAR(255)) RETURNS VARCHAR(255) CHARSET utf8_general_ci 
BEGIN 
    DECLARE c CHAR(1); 
    DECLARE s VARCHAR(255); 
    DECLARE i INT DEFAULT 1; 
    DECLARE bool INT DEFAULT 1; 
    DECLARE punct CHAR(17) DEFAULT '()[]{},[email protected];:?/'; 
    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 || 

DELIMITER ;