SQL CONCAT 函式

摘要:在本教程中,您將學習如何使用 SQL CONCAT 函式將兩個或多個字串拼接成一個字串。

SQL CONCAT 函式簡介 #

SQL CONCAT 函式將兩個或多個字串拼接成一個字串。

下面是 CONCAT 函式的語法:

CONCAT(string1, string2,..);Code language: SQL (Structured Query Language) (sql)

要拼接多個字串,您可以將它們作為逗號分隔的引數列表傳遞給 CONCAT 函式。

CONCAT 函式返回一個由輸入字串組合而成的字串。如果其中一個引數為 NULL,它將返回 NULL

您可以使用 IS NULL 運算子或 COALESCENULLIF 函式來處理 NULL

大多數資料庫系統都支援 CONCAT 函式,但它們之間存在一些差異。

例如,MySQL 中的 CONCAT 函式允許您拼接兩個以上的字串,而 Oracle 資料庫中的 CONCAT 函式只能拼接兩個字串。

除了使用 CONCAT 函式外,您還可以使用拼接運算子。例如,在 Oracle 和 PostgreSQL 中,您可以使用 || 運算子來拼接兩個或多個字串。在 Microsoft SQL Server 中,您可以使用 + 運算子。

SQL CONCAT 函式示例 #

以下語句使用 CONCAT 函式拼接兩個字串:

SELECT CONCAT('SQL CONCAT function', ' demo');Code language: SQL (Structured Query Language) (sql)

試一試

輸出

        concat
----------------------
 SQL CONCAT function demo
(1 row)Code language: SQL (Structured Query Language) (sql)

以下語句使用 CONCAT 函式透過拼接名字、空格和姓氏來返回員工的全名。

SELECT
  CONCAT(first_name, ' ', last_name) AS name
FROM
  employees
ORDER BY
  name;Code language: SQL (Structured Query Language) (sql)

試一試

輸出

SQL CONCAT example

如果您使用的是 Oracle 資料庫,則必須兩次應用 CONCAT 函式才能實現相同的結果:

SELECT
  CONCAT(CONCAT(first_name, ' '), last_name) AS name
FROM
  employees
ORDER BY
  name;Code language: SQL (Structured Query Language) (sql)

試一試

內部的 CONCAT 函式將名字與空格拼接,而外部的 CONCAT 函式將內部 CONCAT 函式的結果與姓氏拼接。

在 Oracle(以及 PostgreSQL)中使用拼接運算子會更簡潔。

SELECT
  first_name || ' ' || last_name AS name
FROM
  employees
ORDER BY
  name;Code language: SQL (Structured Query Language) (sql)

試一試

在 Microsoft SQL Server 中,您可以使用 + 運算子來拼接字串,如下所示:

SELECT
  first_name + ' ' + last_name AS name
FROM
  employees
ORDER BY
  name;Code language: SQL (Structured Query Language) (sql)

如果您使用的是 MySQL 或 PostgreSQL,可以使用 CONCAT_WS 函式來拼接帶分隔符的字串。

CONCAT_WS(separator,string1,string2,...);Code language: SQL (Structured Query Language) (sql)

例如,您可以使用 CONCAT_WS 函式來構建員工的全名:

SELECT
  CONCAT_WS(' ', first_name, last_name) AS name
FROM
  employees
ORDER BY
  name;Code language: SQL (Structured Query Language) (sql)

試一試

摘要 #

  • 使用 SQL CONCAT 函式將兩個或多個字串拼接成一個字串。

資料庫 #

本教程是否有幫助?
© .