sql server 請參閱下面的代碼,列轉(zhuǎn)行
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比芒康網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式芒康網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋芒康地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
sqlserver列轉(zhuǎn)行方法分享
以下例子適用 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
---列行轉(zhuǎn)換?適用于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(非系統(tǒng))的表的id ,假設查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系統(tǒng)列syscolumns 里表id是1002的列數(shù)。
你可以隨便建個表,然后分步運行這兩句看看
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、最后點擊編輯,設置為根據(jù)起始時間變成多列就可以了。
SQL server 提供了sp_rename改名,ALTER TABLE可以修改、增加、刪除列屬性,但不能更改列名,除非是刪除這個列,重新建一個列,這樣的話數(shù)據(jù)就會丟失。
oracle可以用alter table來改列名
ALTER?TABLE?bank RENAME?COLUMN?name?TO?Name;
sqlserver自帶得有一個stuff函數(shù),可以結(jié)合group by 和distinct使用,可以實現(xiàn)行變列