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 執行匹配時區分大小寫。這表示對於查詢的輸入,字面字串 Sarahsarah 不同。

若要查詢不區分大小寫的資料,您可以使用 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 函數將字串轉換為小寫。

本教學對您有幫助嗎?