gpt4 book ai didi

SQL将名称的第一个和最后一个字母大写

转载 作者:行者123 更新时间:2023-12-01 06:07:00 35 4
gpt4 key购买 nike

我想查询显示姓氏首字母大写和最后一个字母大写。

示例:last_name='Alexander'查询后:last_name='AlexandeR'

我试过这样

select initcap(last_name)+LOWER(SUBSTR(last_name,2,LENGTH(last_name))) name_last from employees

但我收到此错误 01722.00000 - “无效数字”

我正在使用 SQL Oracle 数据库

谁能解释一下这是什么问题?

最佳答案

问题是连接字符。但是,我想建议一种稍微不同的方法:

select (upper(substr(last_name, 1, 1)) ||
substr(last_name, 2, len(last_name) - 2) ||
upper(substr(last_name, -1, 1))
)

换句话说,避免initcap()。问题是意想不到的副作用。 initcap() 将字符串中每个单词的首字母大写。因此,如果名称由多个单词组成,那么每个单词都会大写。在这种情况下,我认为假设姓氏仅由一个名字组成是不明智的。

关于SQL将名称的第一个和最后一个字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36571826/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com