SQL UPPER:将字符串转换为大写

总结:本教程将向您展示如何使用 SQL UPPER 函数将字符串转换为大写。

SQL UPPER 函数简介

SQL UPPER  函数可将字符串中的所有字母转换为大写。如果您想将字符串转换为小写,请改用 LOWER 函数。

UPPER 函数的语法非常简单,如下所示。

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

如果输入字符串为 NULL,则 UPPER 函数返回 NULL,否则返回一个已将所有字母转换为大写的新字符串。

除了 UPPER 函数外,一些数据库系统还为您提供一个名为 UCASE 的其他函数,该函数与 UPPER 函数相同。它表示“有多种方法可以执行此操作”。

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

SQL UPPER 函数示例

以下语句将字符串 sql upper 转换为 SQL UPPER

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

让我们来看看 示例数据库 中的 employees 表。

employees table

以下 查询 使用 UPPER 函数将员工的姓氏转换为大写。

SELECT 
    UPPER(last_name)
FROM
    employees
ORDER BY UPPER(last_name);Code language: SQL (Structured Query Language) (sql)

此查询只是从员工表中读取数据并实时转换数据。表中的数据保持不变。

要在数据库表中将数据转换为大写,请使用 UPDATE 语句。例如,以下语句将员工的电子邮件更新为大写。

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

使用 UPPER 函数对数据进行不区分大小写的查询

当您使用 WHERE 子句查询数据时,数据库系统通常会以区分大小写的方式匹配数据。例如,文字字符串 Bruce 不同于 bruce

以下 查询 没有返回任何结果。

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

要以不区分大小写的方式匹配数据,请使用 UPER 函数。例如,以下查询将返回一行

SELECT 
    employee_id, 
    first_name
FROM
    employees
WHERE
    UPPER(first_name) = 'BRUCE';Code language: SQL (Structured Query Language) (sql)
SQL UPPER function example

请注意,上面的查询会扫描整个表以查找匹配的 rơ。如果表很大,查询将非常慢。

为了解决这个问题,一些数据库系统提供了基于函数的索引,允许您基于一个或多个列的函数来定义索引,从而提高查询性能。

在本教程中,您学习了如何使用 SQL UPPER 函数将字符串转换为大写。

本教程是否有帮助?