sqlserver列,sqlserver列名不明确

SqlServer 列转行

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

SqlServer如何查询表的列数

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的列数。

你可以随便建个表,然后分步运行这两句看看

sqlserver语句添加列(简单)

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'

sqlserver根据起始时间变成多列

1、首先打开sqlserver,启动编辑器。

2、其次点击列,点击设置,找到编辑。

3、最后点击编辑,设置为根据起始时间变成多列就可以了。

SQLServer如何修改一列的列名呢?

SQL server 提供了sp_rename改名,ALTER TABLE可以修改、增加、删除列属性,但不能更改列名,除非是删除这个列,重新建一个列,这样的话数据就会丢失。

oracle可以用alter table来改列名

ALTER TABLE bank RENAME COLUMN name TO Name;

sqlserver怎么把查询结果的行变成列?

sqlserver自带得有一个stuff函数,可以结合group by 和distinct使用,可以实现行变列


本文标题:sqlserver列,sqlserver列名不明确
路径分享:http://ybzwz.com/article/hogjpe.html