摘要:在本教程中,您將學習如何使用 SQL LENGTH 函式來獲取字串中的字元數。
SQL LENGTH 函式簡介 #
SQL LENGTH 函式返回字串中的字元數。每個關係資料庫系統中都提供 LENGTH 函式。一些資料庫系統使用 LEN 函式,其效果與 LENGTH 函式相同。
以下是 LENGTH 函式的語法:
LENGTH(string)Code language: SQL (Structured Query Language) (sql)如果輸入的 string 為空,LENGTH 函式返回 0。如果為 NULL,則函式返回 NULL。
對於 ASCII 字串,字元數與位元組數相同。對於其他字元集,它們可能不同。
在某些關係資料庫系統(如 MySQL 和 PostgreSQL)中,LENGTH 函式返回位元組數。要在 MySQL 和 PostgreSQL 中獲取字串的字元數,您應該改用 CHAR_LENGTH 函式。
基本的 SQL LENGTH 函式示例 #
以下語句使用 LENGTH 函式返回字串 SQL 中的字元數:
SELECT
LENGTH('SQL') string_length;Code language: SQL (Structured Query Language) (sql)輸出
string_length
---------------
3Code language: SQL (Structured Query Language) (sql)對錶資料使用 LENGTH 函式 #
我們將使用示例資料庫中的以下 employees 表:
以下查詢使用 LENGTH 函式和 CONCAT 函式返回姓名最長的前五名員工:
SELECT
CONCAT(first_name, ' ', last_name) AS full_name,
LENGTH(CONCAT(first_name, ' ', last_name)) AS name_length
FROM
employees
ORDER BY
name_length DESC
FETCH FIRST
5 ROWS ONLY;Code language: SQL (Structured Query Language) (sql)輸出
full_name | name_length
-------------------+-------------
Jose Manuel Urman | 17
Irene Mikkilineni | 17
Michael Hartstein | 17
Alexander Hunold | 16
Karen Colmenares | 16查詢工作原理:
- 首先,
CONCAT函式透過連線名字、一個空格和姓氏來建立員工的全名。 - 其次,將
LENGTH函式應用於全名。 - 第三,按
LENGTH函式的結果對結果集進行排序,並檢索前五行以獲得最長的姓名。
摘要 #
- 使用 SQL
LENGTH函式獲取字串中的字元數。
資料庫 #
本教程是否有幫助?