如何通过 MySQL 来实现 INITCAP() 功能的反向功能?
INITCAP() 方法显示每个单词的首字母大写,其余为小写。
要实现相反功能,你需要在 MySQL 中创建一个自己的函数。函数如下 −
mysql> delimiter // mysql> create function convertFirstLetterToLowerAndRemainingToCapital(value varchar(250)) returns varchar(250) deterministic begin declare valueLength int; declare l int; set valueLength = char_length(value); set value = upper(value); set l = 0; while (l < valueLength ) do if (mid(value,l ,1) = ' ' or l = 0) then if (l < valueLength ) then set value= concat( left(value,l), lower(mid(value,l+ 1,1)), right(value,valueLength - l - 1) ); end if; end if; set l = l + 1; end while; return value; end; // Query OK, 0 rows affected (0.17 sec) mysql> delimiter ;
借助 select 语句调用函数 −
mysql> select convertFirstLetterToLowerAndRemainingToCapital('Introduction To MySQL');
这将会生成以下输出 −
+-------------------------------------------------------------------------+ | convertFirstLetterToLowerAndRemainingToCapital('Introduction To MySQL') | +-------------------------------------------------------------------------+ | iNTRODUCTION tO mYSQL | +-------------------------------------------------------------------------+ 1 row in set, 2 warnings (0.04 sec)
广告