mysql - 使用mysql字符串函数

标签 mysql

我有一个表,表中包含以下数据

abcd 
abcd , pgw 
ABcd , Pgw

我想要输出为

Abcd
Abcd , Pgw
Abcd , Pgw

第一个字母大写,“,”后面的字母大写。

最佳答案

要使第一个字母大写,请使用此

select CONCAT(UPPER(LEFT(`field`, 1)), SUBSTRING(`field`, 2)) from mytable

对逗号后的单词也执行此操作,声明一个函数,例如:

DELIMITER ||  

CREATE FUNCTION `ucwords`( str VARCHAR(128) ) RETURNS VARCHAR(128) CHARSET latin1  
BEGIN  
  DECLARE c CHAR(1);  
  DECLARE s VARCHAR(128);  
  DECLARE i INT DEFAULT 1;  
  DECLARE BOOL INT DEFAULT 1;        
  SET s = LCASE( str );  
  WHILE i < LENGTH( str ) DO  
     BEGIN  
       SET c = SUBSTRING( s, i, 1 );  
       IF c = ',' 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;             
          END IF;  
        END;  
      END IF;  
      SET i = i+1;  
    END;  
  END WHILE;  
  RETURN s;  
END ||  

DELIMITER ;

并使用

 select ucwords(`field`) from mytable

关于mysql - 使用mysql字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7239290/

相关文章:

php - Json 编码多个匹配项。

mysql - 获取不同时间段的数据

mysql: 插入操作错误 "data too long "

mysql - 收集页面浏览量 MySQL 布局

mysql - 为什么我的计数函数在mysql中如此关闭?

php - mysql搜索其中列与给定输入匹配或给定输入的价格在给定价格和价格之间

php - MySql 查询 - 使用 varchars、索引进行优化,运行需要一个多小时

python无法安装mysql库

php - 为什么使用错误登录时错误消息不起作用?

php - 为 MySQL 中的 INSERT 查询声明 php 变量