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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!