Skip to content

SQL Lcase() 函数

标准的 SQL 函数 LOWER() 将字符串中的所有字符转换为小写。一些数据库系统,如 MySQL,也支持 LCASE() 作为 LOWER() 的同义词。为了最大程度的可移植性,建议使用 LOWER()。

此函数对于数据规范化、不区分大小写的比较或一致的数据显示非常有用。

SELECT LOWER(column_name) FROM table_name;

或者,当应用于文字字符串时:

SELECT LOWER(‘Your String HERE’); — 结果是 ‘your string here’

对于我们的示例,假设有一个 Products 表,包含以下相关列:

Products Table:

  • ProductID (INT, Primary Key)
  • ProductName (VARCHAR)
  • Category (VARCHAR)

想象一下 ProductName 列可能包含大小写混合的值,如 ‘Laptop Pro’、‘laptop pro’ 或 ‘LAPTOP PRO’。

以下 SQL 语句从 Products 表中选择 ProductName 和 Category 列。它将 ProductName 的值转换为小写,并将结果列取别名为 LowercaseProductName。

SELECT
ProductName,
LOWER(ProductName) AS LowercaseProductName,
Category
FROM Products;

如果 Products 表中有一行,ProductName = ‘Super Widget V2’ 且 Category = ‘Gadgets’,则该行的结果将是:

ProductNameLowercaseProductNameCategory
Super Widget V2super widget v2Gadgets

实际应用:

  • 不区分大小写的搜索: 搜索数据时,可以将列值和搜索词都转换为小写,以确保无论大小写如何都能匹配。例如:WHERE LOWER(Email) = LOWER('User@Example.COM');
  • 数据清洗/标准化: 在存储用户输入或来自各种来源的数据之前,将某些文本字段(如标签或类别)转换为小写有助于保持一致性。
  • 显示统一性: 在用户界面上以统一的大小写(例如,全部小写用户名)显示数据。

性能注意事项:在 WHERE 子句中对列应用 LOWER() 等函数有时可能会阻止数据库有效地使用该列上的索引。对于大型表上频繁的不区分大小写搜索,如果可用,请考虑使用数据库特定的功能,如不区分大小写的排序规则(collations)或函数索引(functional indexes)。

相关函数:UPPER()(或 UCASE())将字符串转换为大写。