【问题标题】:How to uppercase first letter (without changing the others) in Snowflake如何在雪花中大写第一个字母(不改变其他字母)
【发布时间】:2022-01-13 23:00:39
【问题描述】:

我知道INITCAP()this similar question,但我的问题不同:

如何将给定字符串中的第一个字母大写,不改变字符串的其余部分?

INITCAP() 只能将第一个字母大写 - 但是,它将小写 其他所有字母,如文档中所述:

<delimiters> 指定为空字符串(即 '')指示 INITCAP 忽略输入表达式中的所有分隔符,包括空白字符(即输入表达式被视为单个连续单词)。结果输出是一个字符串,第一个字符大写(如果第一个字符是字母)所有其他字母小写。

【问题讨论】:

    标签: snowflake-cloud-data-platform uppercase


    【解决方案1】:

    另一种选择是

    UPPER(LEFT(my_string,1))||SUBSTR(my_string,2)

    如果我们使用相同的空格模式,将赢得代码高尔夫 1:

    INSERT(my_string,1,1,UPPER(LEFT(my_string,1)))

    【讨论】:

    • 哦,是的,这比使用INSERT() 更简洁易读! ?
    【解决方案2】:

    设法使用一些字符串操作来做到这一点:

    SELECT INSERT(my_string, 1, 1, UPPER(LEFT(my_string, 1)));
    

    UPPER(LEFT(my_string, 1)) 将提取字符串的第一个字母,并将其大写。

    INSERT() 会将字符串的一部分替换为其他内容——在这种情况下,第一个字母将替换为其大写版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      相关资源
      最近更新 更多