摘要:在本教學中,您將學習如何使用 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
表格。

以下 查詢 使用 LOWER 函數以小寫形式傳回部門名稱。
SELECT
LOWER(department_name)
FROM
departments
ORDER BY LOWER(department_name);
Code language: SQL (Structured Query Language) (sql)
以下語句 更新員工的電子郵件為小寫。
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)

請注意,此查詢會掃描整個表格以取得結果。對於大型表格,速度會很慢。
某些資料庫系統支援基於函數的索引,例如 Oracle 資料庫、PostgreSQL 等。您可以根據特定函數建立索引。如果您為 first_name
欄建立基於函數的索引,查詢將使用索引快速找到資料列。
現在您應該知道如何使用 LOWER
函數將字串轉換為小寫。
本教學對您有幫助嗎?