您的位置:首页 > 数据库

SQL Cookbook:一、检索记录(7)连接列的值

2010-04-19 20:39 471 查看
问题

   将多列值作为一列返回。例如,要查询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


解决方案

    查找和使用DBMS提供的内置函数,用以连接来自不同列的值。

    DB2, Oracle, PostgreSQL

    这些数据库使用双竖线作为连接运算符。

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


    MySQL

    这个数据库支持CONTACT函数。

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


讨论

    使用CONTACT函数连接来自多个列的数值。在DB2, Oracle, 和PostgreSQL中,“||”是CONTACT函数的简写方式,“+”是SQL Server中的简写方式。

版权说明:作者:张颖希PocketZ's Blog

出处:http://www.cnblogs.com/PocketZ

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: