UPPER函数用于将字符串转换为大写,常用于不区分大小写的比较和统一显示格式。其语法为UPPER(string),支持列名、变量或常量。例如SELECT UPPER(name) FROM users可返回大写姓名;结合拼接如UPPER(name + ': ' + email)可统一格式输出;在WHERE中使用UPPER(name) = UPPER('alice')可实现忽略大小写的筛选,但可能影响索引性能;该函数广泛支持MySQL、PostgreSQL、Oracle、SQL Server和SQLite等主流数据库,是文本处理的常用工具。

在SQL中,UPPER函数用于将字符串中的所有字符转换为大写。这个函数非常实用,尤其是在进行不区分大小写的比较或统一数据显示格式时。
UPPER函数基本语法
UPPER函数的语法很简单:
UPPER(string)其中,string 是要转换的字符串表达式,可以是列名、变量或直接的字符串常量。
实际使用示例
假设有一个用户表 users,包含字段 name 和 email,部分数据如下:
| name | email | |----------|---------------------| | alice | Alice@site.com | | Bob | bob@site.com | | charlie | CHARLIE@site.com |
如果想将姓名统一显示为大写,可以这样写:
SELECT UPPER(name) AS name_upper FROM users;查询结果为:
| name_upper | |------------| | ALICE | | BOB | | CHARLIE |
也可以对拼接后的字符串使用UPPER:
SELECT UPPER(name + ': ' + email) AS info FROM users;配合WHERE条件进行模糊匹配
UPPER常用于忽略大小写地筛选数据。例如,查找用户名为 "Alice" 的记录(不论大小写):
SELECT * FROM users WHERE UPPER(name) = UPPER('alice');这样即使原始数据是 "alice"、"Alice" 或 "ALICE",都能正确匹配。
注意:虽然这种方法有效,但如果列上有索引,使用UPPER可能会导致索引失效,影响性能。对于频繁查询的场景,建议结合其他方法如使用不区分大小写的排序规则(COLLATE)或存储标准化数据。
支持的数据库类型
UPPER函数在大多数主流数据库中都支持,包括:
- MySQL
- PostgreSQL
- Oracle
- SQL Server
- SQLite
用法基本一致,个别数据库可能有细微差异,但核心功能相同。
基本上就这些。UPPER函数简单直接,是处理文本大小写转换最常用的工具之一。










