参照这个网址介绍

http://www.cnblogs.com/lwhkdash/archive/2012/06/26/2562979.html

一般SQL Server的函数都会识别为紫色,可是PIVOT却是灰色,我一开始以为是SQL Server不能使用,但能正常使用

可以使用print @@version确认下兼容级别,90的是没问题的

Microsoft SQL Server 2005 - 9.00.4060.00 (X64)

数据库右键->属性->选项

这聚合函数对text,nvarchar,varchar字段都不适用,只有将INCOME是DECIMAL才可以

create table WEEK_INCOME3(WEEK NVARCHAR(10),INCOME
text)

既然需要1个函数,那对于varchar类型还可以用max函数作变通的办法,text就还是不行

create table WEEK_INCOME4(WEEK NVARCHAR(10),INCOME VARCHAR(10))

delete from WEEK_INCOME4

INSERT INTO WEEK_INCOME4

SELECT 'D1', '$1000'

UNION ALL

SELECT'D2', '$2000'

UNION ALL

SELECT'D3', '$3000'

UNION ALL

SELECT'D4', '$4000'

UNION ALL

SELECT'D5', '$5000'

UNION ALL

SELECT'D6', '$6000'

UNION ALL

SELECT'D7', '$7000'





由PIVOT函数的格式可以看出,WEEK column的值作为变化后的列名,不是字符串的形式,若是column值有空格,则需要用中括号。

update WEEK_INCOME4 set WEEK ='D1 D1' where iNCOME='$1000'

 

select * from WEEK_INCOME4

pivot(max(INCOME) for [WEEK] in ([D1 D1],D2,D3,D4,D5,D6,D7)) tbl

SQL SERVER PIVOT使用的更多相关文章

  1. 行转列:SQL SERVER PIVOT与用法解释

    在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表: WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIMAL) 我们先插入一 ...

  2. SQL Server pivot 行转列遇到的问题

    前段时间开发系统时,有个功能是动态加载列,于是就使用了SQL Server自带的PIVOT函数进行行转列,开始用的非常溜,效果非常好.但是提交测试后问题来了,测试添加的列名中包含空格,然后就杯具了,功 ...

  3. SQL SERVER PIVOT与用法解释

    通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行 在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表: WEEK_INCOME(WEEK ),I ...

  4. 使用SQL SERVER PIVOT实现行列转置

    一般我们在使用SQL语句实现行列转置时候,最常用的方法无外乎就是 case语句来实现,但是如果需要需要转置的列太多,那么case起来语句就无限庞大,十分不方便,sql server中的PIVOT就可以 ...

  5. sql server pivot/unpivot 行列互转

    有时候会碰到行转列的需求(也就是将列的值作为列名称),通常我都是用 CASE END + 聚合函数来实现的. 如下: declare @t table (StudentName nvarchar(20 ...

  6. SQL SERVER pivot(行转列),unpivot(列转行)

    [pivot]行转列:多行变一列 假设学生成绩表Score1 Name Subject Score 小张 语文 88 小花 数学 89 小张 数学 90 Name 语文 数学 小花 null 89 小 ...

  7. 2019-03-28 SQL Server Pivot

    --现在我们是用PIVOT函数将列[WEEK]的行值转换为列,并使用聚合函数Count(TotalPrice)来统计每一个Week列在转换前有多少行数据,语句如下所示 select * from Sh ...

  8. sql server pivot

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[YearSalary]( [year] [int] NULL, ...

  9. Sql Server 语句

    ##目录 #####清除缓存 DBCC FREEPROCCACHE; DBCC DROPCLEANBUFFERS; SELECT stock.IdStock, stock.Descr FROM [In ...

随机推荐

  1. 织梦安全防护:禁止uploads、data、templets执行脚本

    下面介绍下如何针对uploads.data.templets做PHP脚本限制:对uploads.data.templets 三个目录做执行php脚本限制,就算被上传了木马文件到这些文件夹,也是无法运行 ...

  2. Notepad++连接VMWare中Linux只能看到/root目录

    如下图,使用SFTP协议连接,用root用户登录后,我一开始只能看到root下的文件.稍作修改,把下面的“Initial remote directory”设置成“/”就可以看到根目录了.

  3. Spring Cloud Alibaba学习笔记(8) - RocketMQ术语与概念

    Topic 一类消息的集合,RocketMQ的基本订阅单位 部署结构 Name Server Name Server 为 producer 和 consumer 提供路由信息. 相对来说,namese ...

  4. 3_PHP表达式_2_变量

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP变量可分为自定义变量和预定义变量. 以下所谈到的变量均为自定义变量. 1.变量的基本概念 PHP的变量名遵循 ...

  5. 【转】使用Scanner输入字符串时next()和nextLine()区别

    在实现字符窗口的输入时,很多人更喜欢选择使用扫描器Scanner,它操作起来比较简单.在编程的过程中,我发现用Scanner实现字符串的输入有两种方法,一种是next(),一种nextLine(),但 ...

  6. 六、select查询基础篇

    前言: DQL(Data QueryLanguage):数据查询语言,通俗点讲就是从数据库获取数据的,按照DQL的语法给数据库发送一条指令,数据库将按需求返回数据. 一.基本语法 select 查询的 ...

  7. [Jenkins][centos]1 持续集成 之 配置VNC,部署Jenkins

    痛点:上一篇的AWS部署的VNC不知为啥挂了,死活连不上,因此改申请京东云做部署Jenkins 预计阅读时间:20分钟 更新软件,安装桌面 yum -y update yum -y groupinst ...

  8. 团队高效率协作开发的秘密武器-APIDOC

    团队高效率协作开发的秘密武器 1.前言 在团队协作开发中,不知道各位有没有遇到这样的问题: l 新人接手了项目代码,因没有项目文档,只能靠追踪路由,寻读代码分析业务逻辑 l 前端同学写好了页面,苦等后 ...

  9. kubernetes---ConfigMap管理应用配置

    1.拆分环境 主机名 角色 ip hdss7-11.host.com zk1.od.com(Test环境) 10.4.7.11 hdss7-12.host.com zk2.od.com(Prod环境) ...

  10. LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation

    2019-06-26 22:19:57.408642475 java.lang.IllegalArgumentException: LoggerFactory is not a Logback Log ...