欢迎光临
我们一直在努力

oracle如何把两列值合并

如何使用 oracle 合并两列值?使用 || 操作符直接合并为一个字符串。使用 concat() 函数合并多个字符串。使用 case 语句根据条件合并值。

oracle如何把两列值合并

如何使用 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 不为空
+-----------+
赞(0) 打赏
未经允许不得转载:码农资源网 » oracle如何把两列值合并
分享到

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册