SQL LOWER: 将字符串转换为小写

总结: 在本教程中,您将学习如何使用 SQL LOWER 函数将字符串中的所有字符转换为小写。

SQL LOWER 函数介绍

SQL LOWER 函数将字符串中的所有字符转换为小写。如果您想将字符串中的所有字符转换为大写,则应该使用 UPPER 函数。

下面说明了 LOWER 函数的语法。

LOWER(string);Code language: SQL (Structured Query Language) (sql)

LOWER 函数返回一个包含小写格式所有字符的字符串。如果输入字符串为 NULL,它将返回 NULL

一些数据库系统(如 Oracle 数据库和 MySQL)提供了与 LOWER 函数等效的 LCASE 函数。

LCASE(string);Code language: SQL (Structured Query Language) (sql)

SQL LOWER 示例

以下语句使用 LOWER 函数将字符串转换为小写

SELECT LOWER('SQL LOWER');Code language: SQL (Structured Query Language) (sql)
        lower
----------------------
sql lower
(1 row)Code language: SQL (Structured Query Language) (sql)

示例数据库中查看以下 employees 表。

employees table

以下 查询 使用 LOWER 函数返回小写的部门名称。

SELECT 
    LOWER(department_name)
FROM
    departments
ORDER BY LOWER(department_name);Code language: SQL (Structured Query Language) (sql)

SQL LOWER example
以下语句 更新 员工电子邮件为小写。

UPDATE employees 
SET 
    email = LOWER(email);Code language: SQL (Structured Query Language) (sql)

对数据进行不区分大小写的查询

标准 SQL 执行大小写敏感匹配。这意味着当输入查询时,字面字符串 Sarah 与  sarah 不同。

若要对数据进行不区分大小写的查询,可以使用 LOWER 函数。

以下 查询 返回一个空结果集,因为没有员工的名字是  sarah

SELECT 
    employee_id, first_name, last_name, email
FROM
    employees
WHERE
    first_name = 'sarah';Code language: SQL (Structured Query Language) (sql)

但是,当您使用 LOWER 函数时,它返回一行。

SELECT 
    employee_id, 
    first_name, 
    last_name, 
    email
FROM
    employees
WHERE
    LOWER(first_name) = 'sarah';Code language: SQL (Structured Query Language) (sql)
SQL LOWER function example

请注意,此查询扫描整个表以获取结果。对于大型表,这将会很慢。

一些数据库系统支持基于函数的索引,例如,Oracle 数据库、PostgreSQL 等。您可以基于特定函数创建索引。如果您为 first_name 列创建基于函数的索引,则查询将使用该索引非常快速地找到该行。

现在您应该知道如何使用 LOWER 函数将字符串转换为小写。

本教程是否有用?