SQL 字符串函数如何转换大小写?

来源:AI编程作者:阿里山老登头衔:草根站长
导读:本期聚焦于小伙伴创作的《SQL 字符串函数如何转换大小写?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《SQL 字符串函数如何转换大小写?》有用,将其分享出去将是对创作者最好的鼓励。

SQL中提供了专门的字符串函数来实现大小写转换,不同数据库系统的函数名称和用法略有差异,但核心功能一致,主要分为大写转换和小写转换两类。

SQL 字符串函数如何转换大小写?

通用大小写转换函数

UPPER函数:转为大写

UPPER函数的作用是将字符串中的所有小写字母转换为大写字母,非字母字符保持不变,大部分主流数据库都支持该函数。

以MySQL为例,使用示例如下:

-- 将指定字符串转为大写
SELECT UPPER('hello sql') AS upper_result;
-- 对表中字段进行大小写转换
SELECT UPPER(user_name) AS formatted_name FROM user_info;

上述代码执行后,第一个查询会返回HELLO SQL,第二个查询会将user_info表中user_name字段的所有值转为大写后返回。

LOWER函数:转为小写

LOWER函数的功能和UPPER相反,是将字符串中的所有大写字母转换为小写字母,非字母字符同样保持不变。

MySQL中的使用示例如下:

-- 将指定字符串转为小写
SELECT LOWER('HELLO SQL') AS lower_result;
-- 对表中字段进行小写转换
SELECT LOWER(product_name) AS formatted_product FROM product_info;

第一个查询会返回hello sql,第二个查询会将product_info表中product_name字段的所有值转为小写后返回。

特殊场景的大小写转换函数

INITCAP函数:首字母大写

部分数据库如Oracle、PostgreSQL支持INITCAP函数,该函数会将字符串中每个单词的首字母转为大写,其余字母转为小写,适合处理名称类的字符串。

Oracle中的使用示例如下:

-- 将字符串每个单词首字母转为大写
SELECT INITCAP('hello world sql') AS initcap_result FROM DUAL;

该查询会返回Hello World Sql

不同数据库的适配说明

不同数据库对大小写转换函数的支持情况存在差异,具体可以参考下表:

数据库类型支持的大写转换函数支持的小写转换函数支持的首字母大写函数
MySQLUPPERLOWER不支持,需自定义函数实现
OracleUPPERLOWERINITCAP
SQL ServerUPPERLOWER不支持,需自定义函数实现
PostgreSQLUPPERLOWERINITCAP

使用注意事项

  • 大小写转换函数不会影响原数据,只是返回转换后的结果,若需要修改表中存储的数据,需要结合UPDATE语句使用。
  • 部分数据库的字符串比较默认不区分大小写,此时可能不需要额外转换大小写,具体需要根据数据库的排序规则判断。
  • 处理包含中文的字符串时,大小写转换函数对中文无影响,只会处理英文字母部分。

如果需要在SQL Server中实现首字母大写的功能,可以通过自定义函数实现,示例如下:

-- 创建首字母大写自定义函数
CREATE FUNCTION dbo.INITCAP (@str NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
AS
BEGIN
    DECLARE @result NVARCHAR(MAX) = LOWER(@str)
    DECLARE @i INT = 1
    WHILE @i <= LEN(@result)
    BEGIN
        -- 判断是否为单词开头
        IF @i = 1 OR SUBSTRING(@result, @i - 1, 1) = ' '
        BEGIN
            SET @result = STUFF(@result, @i, 1, UPPER(SUBSTRING(@result, @i, 1)))
        END
        SET @i = @i + 1
    END
    RETURN @result
END
-- 调用自定义函数
SELECT dbo.INITCAP('hello sql server') AS custom_initcap_result

该自定义函数会先将字符串全部转为小写,再将每个空格后的第一个字符转为大写,最终返回Hello Sql Server

SQL字符串函数大小写转换UPPERLOWER修改时间:2026-06-18 09:57:27

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。