Skip to content

SQL Ucase() 函数

SQL 提供了将字符串值转换为全大写字母的函数。这对于不区分大小写的比较、数据标准化或显示格式化非常有用。

标准 SQL 函数是 UPPER()。一些数据库系统也提供 UCASE() 作为别名或替代函数。

标准 SQL 和大多数数据库(MySQL, PostgreSQL, Oracle, SQL Server):UPPER(string)

SELECT UPPER(column_name) FROM table_name;

MySQL 也支持将 UCASE(string) 作为 UPPER() 的同义词:

SELECT UCASE(column_name) FROM table_name; — 主要用于 MySQL

通常建议使用 UPPER() 以便在不同的 SQL 数据库系统之间获得更好的可移植性。

我们假设有一个 Customers 表,包含 CustomerName 和 City 等列,这些列存储的文本数据可能包含混合大小写。

以下 SQL 语句从 Customers 表中选择转换为大写的 CustomerName(别名为 UppercaseCustomerName)以及原始的 City 列:

SELECT UPPER(CustomerName) AS UppercaseCustomerName, City
FROM Customers;

如果 CustomerName 是 ‘Alfreds Futterkiste’,则 UppercaseCustomerName 列将显示 ‘ALFREDS FUTTERKISTE’。

不区分大小写的搜索:要查找名为 ‘smith’ 的客户,无论其如何存储(例如 ‘Smith’, ‘SMITH’, ‘smith’),你可以使用:

SELECT CustomerName, City
FROM Customers
WHERE UPPER(LastName) = 'SMITH';

(注意:许多数据库提供了不区分大小写的排序规则(collation),这对于搜索可能比在 WHERE 子句中对列应用 UPPER() 更高效,因为后者可能会阻止索引的使用。然而,对搜索词本身应用 UPPER() 是常见的做法。)

数据标准化:在插入或更新数据之前,将某些文本字段(例如州代码或类别)转换为大写以保持一致性。

显示格式化:确保在报告或用户界面中显示名称或标题时保持一致性。

相应地,还有一个 LOWER()(或 LCASE())函数,用于将字符串转换为小写。