SQL 串联多列的值

SQL 串联多列的值,你想将多列的值合并为一列。例如,你想查询 EMP 表,并获得如下结果集。

SQL 串联多列的值 问题

你想将多列的值合并为一列。例如,你想查询 EMP 表,并获得如下结果集。

CLARK WORKS AS A MANAGER
KING WORKS AS A PRESIDENT
MILLER WORKS AS A CLERK

然而,你需要的数据来自 EMP 表的 ENAME 列和 JOB 列。

select ename, job
from emp
where deptno = 10
ENAME      JOB
---------- ---------
CLARK      MANAGER
KING       PRESIDENT
MILLER     CLERK

SQL 串联多列的值 解决方案

使用数据库中的内置函数来串联多列的值。

DB2、Oracle 和 PostgreSQL

这些数据库把双竖线作为串联运算符。

select ename||' WORKS AS A '||job as msg
from emp
where deptno=10

MySQL

该数据库使用 CONCAT 函数。

select concat(ename, ' WORKS AS A ',job) as msg
from emp
where deptno=10

SQL Server

该数据库使用+作为串联运算符。

select ename + ' WORKS AS A ' + job as msg
from emp
where deptno=10

SQL 串联多列的值 扩展知识

使用 CONCAT 函数可以串联多列的值。在 DB2OraclePostgreSQL 中,||CONCAT 函数的快捷方式,在 SQL Server 中则为 +

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程