You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现单词首字母大写且不改变单词其余字符原有大小写格式

单词首字母大写且保留后续字符原有大小写的SQL实现方案

原生INITCAP函数不符合需求的核心原因是:它的逻辑为「单词首字母转大写,剩余所有字母统一转小写」,会强制修改首字母之外的字符大小写,和要求的「仅修改首字母大小写、其余字符原样保留」的逻辑冲突。

以下是不同数据库环境的可行实现,核心逻辑为:仅匹配每个单词开头(行开头/空格后)的小写字母转为大写,其余所有字符不做修改:

PostgreSQL 实现

使用REGEXP_REPLACE正则替换实现:

SELECT REGEXP_REPLACE(your_column, '(^|\s)([a-z])', '\1' || UPPER('\2'), 'g') FROM your_table;

参数说明:末尾的g代表全局匹配,会处理所有符合规则的单词,而不止第一个。

MySQL 8.0+ 实现

MySQL 8.0及以上版本支持正则捕获组,写法如下:

SELECT REGEXP_REPLACE(your_column, '(^| )([a-z])', CONCAT('$1', UPPER('$2')), 1, 0, 'c') FROM your_table;

参数说明:末尾的c代表区分大小写匹配,确保只会把小写的首字母转为大写,已经是大写的首字母不会被处理。

Oracle 实现

SELECT REGEXP_REPLACE(your_column, '(^|[[:space:]])([[:alpha:]])', '\1' || UPPER('\2')) FROM your_table;

效果验证

拿示例输入测试,返回结果和预期完全匹配:

输入文本输出结果
textText
AB testAB Test
ab testAb Test
Ab tEstAb TEst
ABC testABC Test

内容的提问来源于stack exchange,提问作者tlqn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:24:03