zoukankan      html  css  js  c++  java
  • SQL Server中获取指定时间段内的所有日期

        DECLARE @days INT,
    			@date_start DATETIME = '2016-11-01',
    			@date_end DATETIME = '2016-11-10' 
        SET @days = DATEDIFF(DAY, @DATE_START, @DATE_END);  
        SELECT  DAY(DATEADD(dd, number, @DATE_START)) AS 日期
        FROM    master.dbo.spt_values
        WHERE   type = 'p'
                AND number <= @days;


    结果:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10



    说明:

    master..spt_values相当于一个数字辅助表,在sql中主要用到number这个字段

    select number from master..spt_values where type='p'
    --这样查询一下就知道什么意思了

    该表是从sybase继承过来的,是个内部字典表,供SQL Server内部使用。
    我们可以在许多系统存储过程和函数的源代码中发现它的身影。其实可以将它理解成我们编程时常用的数据字典.

    列名分别为名称、值、类型、下限、上限、状态;

    类型列的取值含义:
    D=Database Option P=Projection DBR=Database Role DC=Database Replication I=Index L=Locks V=Device Type
    因为比较多,无法一一列举。其中类型P较为特殊,它只是0-2047(与版本有关)之间的数字的简单列表,作为对所有类型之间关系的预测。




    参考: http://blog.csdn.net/whaxrl/article/details/50789894

    http://bbs.csdn.net/topics/360035752   

  • 相关阅读:
    systemmap 使用记录
    reading code record
    吞吐问题
    debug cps 原因
    fopen的a+和rewind
    debug cps && perf debug
    tfo以及quic的阅读笔记
    ss 和netstat
    debug open files
    多核编程 local global
  • 原文地址:https://www.cnblogs.com/0-0snail/p/7598261.html
Copyright © 2011-2022 走看看