MySQL中initcap的实现。

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 大家都知道,Oracle,PostgreSQL等数据库中有将所有单词首字母变大写的功能函数initcap,但是MySQL没有,今天写了一个。分享: 点击(此处)折叠或打开 delimiter // drop function initcap// cre...
大家都知道,Oracle,PostgreSQL等数据库中有将所有单词首字母变大写的功能函数initcap,但是MySQL没有,今天写了一个。分享:

点击(此处)折叠或打开

  1. delimiter //
  2. drop function initcap//
  3. create function initcap(ss varchar(1000)) returns varchar(1000)
  4. begin
  5. declare lena int;
  6. declare pos int;
  7. declare firsta char(1);
  8. declare seconda varchar(999);
  9. declare tmpstr varchar(1000);
  10. declare retstr varchar(1000);
  11. if (length(trim(ss)) = 0) then
  12.    return '';
  13. end if;
  14. if (right(ss,1) != ' ') then
  15.     set ss=concat(ss,' ');
  16. end if;
  17. set pos=instr(ss,' ');
  18. set lena=length(ss);
  19. while (pos > 0) do
  20.    set tmpstr=trim(left(ss,pos));
  21.    set ss = right(ss,lena - pos );
  22.    set lena = length(tmpstr);
  23.    set firsta = upper(left(tmpstr,1));
  24.    set seconda = lower(right(tmpstr,lena - 1));
  25.    if (length(retstr) > 0) then
  26.        set retstr = concat(retstr,' ',firsta,seconda);
  27.    else
  28.        set retstr = concat(firsta,seconda);
  29.    end if;
  30.    set pos = instr(ss,' ');
  31.    set lena = length(ss);
  32. end while;
  33. return retstr;
  34. end;
  35. //
  36. delimiter ;
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
1221
分享
相关文章
手把手教你Prometheus + Granafa实现mysql 性能监测部署
数据库性能监控可以说是十分重要,能否自行搭建环境实现像阿里云或是腾讯云那样直观的展示不同维度数据的功能?答案是肯定的。下面详细说明一下安装部署过程以及过程中出现的问题,希望对你有所帮助!
手把手教你Prometheus + Granafa实现mysql 性能监测部署
基于 Docker 结合 Canal 实现 MySQL 实时增量数据传输
基于 Docker 结合 Canal 实现 MySQL 实时增量数据传输
935 0
基于 Docker 结合 Canal 实现 MySQL 实时增量数据传输
mysql实现一次将多条不同sql查询结果并封装到一个结果集
最近遇到一个统计查询需求,要求一次性查询多个统计信息,其中两个查询信息不在一个表中,也没有业务关联,表中也没有做连接处理。不考虑产品设计是否合理,完全是实际需求如此,需要一次性查询出来返回给前端进行展示,对于这种“非常规”的统计查询平常肯定会遇见,感觉有点代表性,所以简单记录一下。希望对有相同需求的同学可以作为参考。
mysql实现一次将多条不同sql查询结果并封装到一个结果集
Linux:Ubuntu安装jdk、tomcat、mysql,以及实现Tomcat开机自启动
Linux:Ubuntu安装jdk、tomcat、mysql,以及实现Tomcat开机自启动
378 0
Linux:Ubuntu安装jdk、tomcat、mysql,以及实现Tomcat开机自启动
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等