十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
sql server 请参阅下面的代码,列转行
创新互联-专业网站定制、快速模板网站建设、高性价比芒康网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式芒康网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖芒康地区。费用合理售后完善,10年实体公司更值得信赖。
sqlserver列转行方法分享
以下例子适用 sqlserver 2005版本及以上
create table A ( info1 varchar(30),
[2012] int,
[2008] int,
[2018] int,
[2013] int
)
go
insert into A values('A',8,null,null,20)
insert into A values('B',null,7,null,3)
insert into A values('C',12,4,null,null)
insert into A values('D',null,null,5,16)
go
---列行转换 适用于sql server 2005及以上版本
SELECT info1,nian,qty
from A
unpivot(qty for nian in([2012],[2008],[2018],[2013]))as test
GO
truncate table A
drop table A
select count(name) from syscolumns
where id=( select id from sysobjects where name='表名' and xtype='U')
说明:select id from sysobjects where name='表名' and xtype='U' 从sysobjects 里查询表类型为U(非系统)的表的id ,假设查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系统列syscolumns 里表id是1002的列数。
你可以随便建个表,然后分步运行这两句看看
execute
sp_addextendedproperty
n'ms_description',
'添加你的说明',
n'user',
n'dbo',
n'table',
n'table(表名)',
n'column',
n'列名'
--比如
给a
表的
c1字段增加一个
我是字段c1
说明
execute
sp_addextendedproperty
n'ms_description',
'我是字段c1',
n'user',
n'dbo',
n'table',
n'a',
n'column',
n'c1'
1、首先打开sqlserver,启动编辑器。
2、其次点击列,点击设置,找到编辑。
3、最后点击编辑,设置为根据起始时间变成多列就可以了。
SQL server 提供了sp_rename改名,ALTER TABLE可以修改、增加、删除列属性,但不能更改列名,除非是删除这个列,重新建一个列,这样的话数据就会丢失。
oracle可以用alter table来改列名
ALTER TABLE bank RENAME COLUMN name TO Name;
sqlserver自带得有一个stuff函数,可以结合group by 和distinct使用,可以实现行变列