如何使用 oracle 合并兩列值?使用 || 操作符直接合并為一個字符串。使用 concat() 函數合并多個字符串。使用 case 語句根據條件合并值。
如何使用 Oracle 合并兩列值
直接合并
最簡單的方法是使用 || 操作符,將兩列連接為一個字符串:
SELECT column1 || column2 FROM table_name;
登錄后復制
使用函數
也可以使用 CONCAT() 函數,它將多個字符串連接在一起:
SELECT CONCAT(column1, column2) FROM table_name;
登錄后復制
使用條件
如果需要根據條件合并值,可以使用 CASE 語句:
SELECT CASE
WHEN column1 IS NOT NULL THEN column1
WHEN column2 IS NOT NULL THEN column2
ELSE NULL -- 如果兩列都為空,返回 NULL
END FROM table_name;
登錄后復制
示例
假設有以下表:
CREATE TABLE my_table (
id INT PRIMARY KEY,
first_name VARCHAR(255),
last_name VARCHAR(255)
);
INSERT INTO my_table (id, first_name, last_name) VALUES
(1, 'John', 'Doe'),
(2, 'Jane', 'Smith'),
(3, NULL, 'Wilson');
登錄后復制
直接合并
SELECT first_name || last_name AS full_name FROM my_table; +-----------+ | full_name | +-----------+ | John Doe | | Jane Smith | | Wilson | -- 返回 NULL,因為 first_name 為 NULL +-----------+
登錄后復制
使用函數
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM my_table; +-----------+ | full_name | +-----------+ | John Doe | | Jane Smith | | NULL Wilson | -- 返回 NULL,因為 first_name 為 NULL +-----------+
登錄后復制
使用條件
SELECT CASE
WHEN first_name IS NOT NULL THEN first_name
WHEN last_name IS NOT NULL THEN last_name
ELSE NULL
END AS full_name FROM my_table;
+-----------+
| full_name |
+-----------+
| John Doe |
| Jane Smith |
| Wilson | -- 返回 "Wilson",因為 last_name 不為空
+-----------+
登錄后復制






