zoukankan      html  css  js  c++  java
  • master.dbo.spt_values

    --统计某月份周情况 没有的补0
    if object_id('temp_tb'is not null 
    drop table temp_tb

    create table temp_tb
    ([ID] [numeric](180IDENTITY(1,1NOT NULL,
    [test_values] int NULL,
    [time] datetime null,
    );
    go

    insert into temp_tb([test_values],[time]
    select 3,'2009-2-1 10:12:30' union all
    select 5,'2009-2-5 09:20:23' union all
    select 6,'2009-2-6 11:21:34' union all
    select 7,'2009-2-8 12:22:12' union all
    select 2,'2009-2-10 16:45:25' union all
    select 3,'2009-2-13 13:21:14' union all
    select 5,'2009-2-15 15:58:09' union all
    select 1,'2009-2-15 08:35:47' union all
    select 1,'2009-2-15 09:13:07' union all
    select 9,'2009-2-15 09:15:04'

    select * from temp_tb

    SELECT
        A.[Week],
        ISNULL(COUNT(B.test_values),0AS num
    FROM (
        SELECT
            datepart(week,dateadd(week,0,dateadd(day,number,'2009-02-01'))) AS [Week]
        FROM master.dbo.spt_values 
        WHERE type='p' AND number BETWEEN 0 AND 27
        GROUP BY datepart(week,dateadd(week,0,dateadd(day,number,'2009-02-01')))
    AS A
    LEFT JOIN temp_tb AS B
        ON A.[Week]=DATEPART(week,time)
    GROUP BY A.[Week]



    SELECT DATEPART(WEEK,'2009-10-30 12:15:32.1234567 +05:10')  --44周

    /*
    ID                                      test_values time
    --------------------------------------- ----------- -----------------------
    1                                       3           2009-02-01 10:12:30.000
    2                                       5           2009-02-05 09:20:23.000
    3                                       6           2009-02-06 11:21:34.000
    4                                       7           2009-02-08 12:22:12.000
    5                                       2           2009-02-10 16:45:25.000
    6                                       3           2009-02-13 13:21:14.000
    7                                       5           2009-02-15 15:58:09.000
    8                                       1           2009-02-15 08:35:47.000
    9                                       1           2009-02-15 09:13:07.000
    10                                      9           2009-02-15 09:15:04.000

    (10 行受影响)

    Week        num
    ----------- -----------
    6           3
    7           3
    8           4
    9           0

    */



    --1、得出一天的时间段记录。
    select 时间段=ltrim(a.number)+':00-'+ltrim(b.number)+':00'
    from master..spt_values a,master..spt_values b
    where a.type='p'and b.type='p'
     and a.number between 1 and 24 
     and b.number between 1 and 24 
     and a.number=b.number-1

    /*
    时间段
    -------------------------------
    1:00-2:00
    2:00-3:00
    3:00-4:00
    4:00-5:00
    5:00-6:00
    6:00-7:00
    7:00-8:00
    8:00-9:00
    9:00-10:00
    10:00-11:00
    11:00-12:00
    12:00-13:00
    13:00-14:00
    14:00-15:00
    15:00-16:00
    16:00-17:00
    17:00-18:00
    18:00-19:00
    19:00-20:00
    20:00-21:00
    21:00-22:00
    22:00-23:00
    23:00-24:00

    (23 行受影响)
    */




    --2、通过1个select语句某个月的所有日期记录
    declare @date datetime
    set @date='2009-11-23'

    select [day]=ltrim(year(@date))+right(100+month(@date),2)+right('0'+ltrim(number),2)
    from master..spt_values
    where type='p'
      and number >=1 
      and number <= datediff(dd,@date,dateadd(month,1,@date))

    /*
    day
    --------------------
    20091101
    20091102
    20091103
    20091104
    20091105
    20091106
    20091107
    20091108
    20091109
    20091110
    20091111
    20091112
    20091113
    20091114
    20091115
    20091116
    20091117
    20091118
    20091119
    20091120
    20091121
    20091122
    20091123
    20091124
    20091125
    20091126
    20091127
    20091128
    20091129
    20091130

    (30 行受影响)
    */

  • 相关阅读:
    SAP库存账龄分析报表
    elasticsearch 同义词配置搜索
    elasticsearch 上下文
    git 修改源路径 修改项目地址
    intellij IDEA 无限试用
    Kubernetes 安装Redis集群
    helm安装ingress
    安装Helm
    Kubernetes Rook + Ceph
    GIT 将工作区恢复到上次提交的内容 commit your changes or stash them before you can merge Your local changes to the following files would be overwritten by merge
  • 原文地址:https://www.cnblogs.com/yongtaiyu/p/4596997.html
Copyright © 2011-2022 走看看