A. sql中如何将多列用一点合并成一列查询出
select (segment1(01)+'.'+segment2(01-02-03)+'.'+segment3(0000)) as 别名
B. SQL怎样合并表中两列的值为一列来显示
假设:
表中有以下列
列A
varchar(50)
列B
varchar(50)
合并显示为:
select
A+'-'+B
as
AB
from
表
若列的属性不一致需要转换一下:
select
cast(A
as
varchar(50))+'-'+cast(B
as
varchar(50))
as
AB
from
表
C. MS SQL SERVER 如何把多列的值 , 变成一列多行 .
行转列,列转行是我们在开发过程中经常碰到的问题
行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。
但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单、更具可读性.
--行转列的静态方案一:CASE WHEN,兼容sql2000
select custid,
3 sum(case when YEAR(orderdate)=2002 then qty end) as [2002],
sum(case when YEAR(orderdate)=2003 then qty end) as [2003],
sum(case when YEAR(orderdate)=2004 then qty end) as [2004]
from orders
group by custid;--行转列的静态方案二:PIVOT,sql2005及以后版本
select *
from (select custid,YEAR(orderdate) as years,qty from orders) as ord
pivot(sum(qty) for years in([2002],[2003],[2004]))as p
D. sql数据库中,如何将一个表中的多列数字合并为一列
select 字段一+字段二 as 新的字段名 from 表
E. MSSQL 多列合并成一列
使用下面的SQL语句,运行一次后就何必了,然后就可以删除Adress2列:
update Adress set Adress1=concate(Adress1,Adress2)