SQL SERVER PIVOT使用
参照这个网址介绍
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使用的更多相关文章
- 行转列:SQL SERVER PIVOT与用法解释
在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表: WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIMAL) 我们先插入一 ...
- SQL Server pivot 行转列遇到的问题
前段时间开发系统时,有个功能是动态加载列,于是就使用了SQL Server自带的PIVOT函数进行行转列,开始用的非常溜,效果非常好.但是提交测试后问题来了,测试添加的列名中包含空格,然后就杯具了,功 ...
- SQL SERVER PIVOT与用法解释
通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行 在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表: WEEK_INCOME(WEEK ),I ...
- 使用SQL SERVER PIVOT实现行列转置
一般我们在使用SQL语句实现行列转置时候,最常用的方法无外乎就是 case语句来实现,但是如果需要需要转置的列太多,那么case起来语句就无限庞大,十分不方便,sql server中的PIVOT就可以 ...
- sql server pivot/unpivot 行列互转
有时候会碰到行转列的需求(也就是将列的值作为列名称),通常我都是用 CASE END + 聚合函数来实现的. 如下: declare @t table (StudentName nvarchar(20 ...
- SQL SERVER pivot(行转列),unpivot(列转行)
[pivot]行转列:多行变一列 假设学生成绩表Score1 Name Subject Score 小张 语文 88 小花 数学 89 小张 数学 90 Name 语文 数学 小花 null 89 小 ...
- 2019-03-28 SQL Server Pivot
--现在我们是用PIVOT函数将列[WEEK]的行值转换为列,并使用聚合函数Count(TotalPrice)来统计每一个Week列在转换前有多少行数据,语句如下所示 select * from Sh ...
- sql server pivot
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[YearSalary]( [year] [int] NULL, ...
- Sql Server 语句
##目录 #####清除缓存 DBCC FREEPROCCACHE; DBCC DROPCLEANBUFFERS; SELECT stock.IdStock, stock.Descr FROM [In ...
随机推荐
- Python--拦截接口
- Python--遍历文件夹下所有文件和目录的方法(os.walk(rootdir)函数返回一个三元素元祖)
import os import os.path # This folder is custom rootdir = '/Users/macbookpro/Desktop/test' for pare ...
- Django REST framework 基本组件
一.序列化组件 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式.我们可以通过声明与Django forms ...
- go guid 和uuid生成
1 安装 开始-运行 输入 cmd 回车 输入 go get -u github.com/typa01/go-utils 安装完毕后 2 使用 a 首先引入包 import ( goutil ...
- python pip命令安装相当于yum仓库
进入pip目录: 创建pip.conf: 打开pip.conf [global] index-url=https://mirrors.aliyun.com/pypi/simple/ trusted-h ...
- Jenkins 发邮件的Job
Jenkins要做到构建失败的时候发送邮件,常规做法是加个全局的post failure,类似这样的代码 pipeline { agent any stages { stage('deploy') { ...
- axios配置及使用(发起请求时带上token)
1.安装 利用npm安装 npm install axios --save 2.引入即可使用 import axios from 'axios' 3.目录 4.各个文件设置: (1)env.js ex ...
- pc端vue 滚动到底部翻页
html: <div class="list" ref="scrollTopList"> <div class="listsmall ...
- 简单理解undefine和null的区别
直接进入主题: 相同点:都表示“值的空缺” 不同点: null: 定义:一个空对象指针. 使用typeOf得到Object,相当于是一个特殊值 undefine: 定义:声明变量却未对其加以初始化的变 ...
- springboot问题排解
1.SpringBoot 升级到 2.1.5.RELEASE 以上后 pom.xml 报 Unknown错误 1.SpringBoot 升级到 2.1.5.RELEASE 以上后 pom.xml 报 ...