常常见到这个表,人家用得天花乱坠的。 自己select一看却莫名其妙的。

如上, 这个表主要用来保存一些枚举值, 据说是从sybase继承过来,许多函数和存储过程可以看到它的身影。也可以叫系统常量表吧。

里面的东西比较多, 但最常用的是:

select * from master..spt_values WHERE     type = 'P'

下面举例一些应用:

1. 给定一个值, 希望得到某个日间范围的日期数据。

比如:已知今天是: 2015-12-01, 那后面连续30天的日期则为:

SELECT CONVERT(CHAR(10), DATEADD(DAY, number, GETDATE()), 120) AS [日期]
FROM MASTER..spt_values WHERE TYPE='P' AND number>0

2.统计1~12月份的数据

SELECT    number
FROM master..spt_values P
WHERE type = 'P'
AND number BETWEEN 1 AND 12
SELECT    a.number AS yue,
b.s,b.grade
FROM ( SELECT number
FROM master..spt_values P
WHERE type = 'P'
AND number BETWEEN 1 AND 12
) a
LEFT JOIN (select count(StudentID) as s ,count(GradeID) as grade,
MONTH(IntoDate) AS yue
FROM Tianlai_Student
WHERE DATEPART(yy, IntoDate) = '2015'
GROUP BY DATEPART(mm, IntoDate) ,
MONTH(IntoDate)
) b ON a.number = b.yue

  

用上面的月份分组统计

SQLServer——MASTER..spt_values的更多相关文章

  1. SQL Server 中master..spt_values的应用

    今天在做数据分析报表的时候遇到一个这样的问题. 表结构如下.部门编码.部门名称.部门人员ID(中间用逗号分割) 我想通过和人员表链接,查询出一个新的数据集,查询出的结果集格式如下:人员信息(ID或者姓 ...

  2. SQL Server 2008 R2——使用数字辅助表(master..spt_values)实现用计数字段对记录进行重复显示

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  3. sql server 2005 表master..spt_values

    IF OBJECT_ID('tempdb..#t') IS NOT NULL DROP TABLE #tGOcreate table #t(id int identity,Dt varchar(10) ...

  4. 一句SQL按照某个字段数值拆分出对应的数据条数,借助数据库常量表【master..spt_values】实现

    简介:master..spt_values,数据行拆分简单小技巧 SELECT ProjGUID , CostGUID , SUM(FtAmount) AS FtAmount , BeginMonth ...

  5. 记一个简单的sql查询

    在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句 ...

  6. 对日期 ,和 master.dbo.spt_values 表操作

    if object_id('tempdb..#xs') is not null drop table #xs; ), date datetime, sale float) insert into #x ...

  7. 学习使用master.dbo.spt_values表

    如果要生成的临时表中有个连续的数字列,或者连续的日期列,如下所示: 2012-1-1 2012-1-2 2012-1-3 ... ... 可以这样写: declare @begin datetime, ...

  8. 利用Master库spt_values表 连续数字

    SELECT CONVERT ( ), dateadd(d, number, GETDATE()), ) AS every_time FROM master..spt_values n WHERE n ...

  9. 在Sqlserver下巧用行列转换日期的数据统计

    在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法. ...

随机推荐

  1. js如何把a标签里面的值传递到函数里面

    ----------------------a标签如何定 如何传参到函数---------------------- 1.<a></a>标签 如何传参到函数 <a cla ...

  2. Java中的字符串比较

    在C++中,两个字符串比较的代码可以为: (string1==string2) 但是在java中,这个代码即使在两个字符串完全相同的情况下也会返回 false ,Java中必须使用 string1.e ...

  3. 引入 JPEGCodec;JPEGImageEncoder; 图片处理;MyEclipse编译时报错处理

    在Eclipse中处理图片,需要引入两个包: import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JP ...

  4. 大家都在关注AI,但这些事你可能并不知道!

    我们正处在第四次工业革命,其特点是机器人和自驾车技术的进步,智能家电的泛滥等等.所有这些最前沿的是人工智能(AI),也是自动化计算机系统的发展,可以匹配甚至超过人类的智力. 你的自动驾驶可能会编程杀死 ...

  5. Gre 隧道与 Keepalived

    这一篇文章是做了不少功课的. 什么是 Gre 隧道 什么是 Vrrp KeepAlived 是什么 用Keepalived 怎么玩 附录 什么是 Gre 隧道 GRE 隧道是一种 IP-2-IP 的隧 ...

  6. 你相信吗:新药可以让X战警变成现实

           不管男人还是女人.大人还是小孩,心目中都有一个超级英雄梦,梦想着有一天能够具有超级英雄的能力.直到今天,你相信吗?现在医学工作者已经发现通过一种新药可以让人拥有X战警里一些超级英雄的能力 ...

  7. Elasticsearch,Filebeat,Kibana部署,添加图表及elastalert报警

    服务端安装 Elasticsearch和Kibana(需要安装openjdk1.8以上) 安装方法:https://www.elastic.co以Ubuntu为例: wget -qO - https: ...

  8. C++ 走向远洋——44(项目一、点—圆—圆柱类族的设计、派生类)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  9. python爬虫-smtplib模块发送邮件

    1.代码如下: import smtplib from email.message from EmailMessage # smtplib模块负责发送邮件服务 # email.message模块负责构 ...

  10. 【技巧】歪脑筋优化flexbox瀑布流布局方案

    效果先行 需求 在大量"不定宽"元素并排的布局模式下,上图是我们想要的最佳布局但是FlexBox布局虽然枪弹但并不能完全呈现以上布局,于是我们需要结合FlexBox作下小的改动即可 ...