使用 SQL LENGTH 函數取得字串長度

摘要:在本教學中,您將學習如何使用 SQL LENGTH 函數來取得字串中的字元數。

SQL LENGTH 函數簡介

SQL LENGTH 函數會傳回字串中的字元數。LENGTH 函數在每個關聯式資料庫系統中都可使用。某些資料庫系統使用 LEN 函數,其效果與 LENGTH 函數相同。

以下說明 LENGTH 函數的語法。

LENGTH(string)Code language: SQL (Structured Query Language) (sql)

如果輸入字串為空,LENGTH 會傳回 0。如果輸入字串為 NULL,則會傳回 NULL

對於 ASCII 字串,字元數與位元組數相同。對於其他字元集,它們可能不同。

在某些關聯式資料庫系統(例如 MySQL 和 PostgreSQL)中,LENGTH 函數會傳回位元組數。若要在 MySQL 和 PostgreSQL 中取得字串中的字元數,您可以使用 CHAR_LENGTH 函數。

SQL LENGTH 範例

以下陳述式使用 LENGTH 函數來傳回字串 SQL 的字元數

SELECT LENGTH('SQL');
Code language: SQL (Structured Query Language) (sql)
 length
--------
      3
(1 row)Code language: SQL (Structured Query Language) (sql)

請參閱範例資料庫中的以下 employees 表格。
employees_table

以下陳述式傳回名稱最長的前五名員工。

SELECT 
    employee_id,
    CONCAT(first_name, ' ', last_name) AS full_name,
    LENGTH(CONCAT(first_name, ' ', last_name)) AS len
FROM
    employees
ORDER BY len DESC
LIMIT 5;Code language: SQL (Structured Query Language) (sql)
SQL LENGTH function example

查詢如何運作。

  • 首先,使用 CONCAT 函數,透過串連名字、空格和姓氏來建構員工的全名。
  • 其次,套用 LENGTH 函數以傳回每位員工全名的字元數。
  • 第三,依據 LENGTH 函數的結果對結果集進行排序,並從排序後的結果集中取得五列。

在本教學中,您已學習如何使用 SQL LENGTH 函數來取得字串中的字元數。

這個教學對您有幫助嗎?