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

如何在Presto中实现类Excel的Proper字符串大小写转换?

在Presto中实现Excel风格的Proper大小写转换

Presto原生确实没有直接对应Excel Proper 函数的功能,但可以通过组合现有字符串函数实现每个单词首字母大写、其余字母小写的效果:

核心实现代码

SELECT 
  regex_replace(
    lower(your_column_name), 
    '\b(\w)', 
    upper('$1')
  ) AS proper_case_output
FROM your_table;

逻辑说明

  1. 先用 lower() 将整个字符串统一转为小写,消除原字符串中随机大写的干扰;
  2. 通过 regex_replace() 配合正则表达式 \b(\w) 匹配每个单词的首字符(\b 表示单词边界,\w 匹配单个字母/数字/下划线);
  3. 用 upper() 将匹配到的首字符转为大写,其余字符保持小写状态。

基础示例验证

  • 输入:hello WORLD 123test
  • 输出:Hello World 123Test

特殊分隔符适配(连字符/下划线)

如果需要处理带连字符、下划线的"单词",可以调整正则表达式,对应的SQL:

SELECT 
  regex_replace(
    lower('hello-world_test 123'), 
    '(^|[\s_-])(\w)', 
    '$1' || upper('$2')
  ) AS proper_case_output;
  • 输入:hello-world_test 123
  • 输出:Hello-World_Test 123

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:12:41