zoukankan      html  css  js  c++  java
  • 生成两个时间之间的所有日期

    --改写liangCK的部分代码为函数
    --创建函数
    create function generateTime
    (
        @begin_date datetime,
        @end_date datetime
    )
    returns @t table(date datetime)
    as
    begin
        with maco as
        (
           select @begin_date AS date
           union all
           select date+1 from maco
           where date+1 <=@end_date
        )
        insert into @t
        select * from maco option(maxrecursion 0);
        return
    end
     
    Go
    --测试示例
    select * from dbo.generateTime('2009-01-01','2009-01-10')
     
    --运行结果
    /*
    date
    -----------------------
    2009-01-01 00:00:00.000
    2009-01-02 00:00:00.000
    2009-01-03 00:00:00.000
    2009-01-04 00:00:00.000
    2009-01-05 00:00:00.000
    2009-01-06 00:00:00.000
    2009-01-07 00:00:00.000
    2009-01-08 00:00:00.000
    2009-01-09 00:00:00.000
    2009-01-10 00:00:00.000
    */
     
     
     
    go
    --第二版
    --创建函数
    create function generateTimeV2
    (
        @begin_date datetime,
        @end_date datetime
    )
    returns @t table(date datetime)
    as
    begin
        insert into @t
        select dateadd(dd,number,@begin_date) AS date
        from master..spt_values
        where type='p' and dateadd(dd,number,@begin_date)<=@end_date
        return
    end
     
    --测试示例
    select * from dbo.generateTimeV2('2009-01-01','2009-01-10')
    --运行结果
    /*
    date
    -----------------------
    2009-01-01 00:00:00.000
    2009-01-02 00:00:00.000
    2009-01-03 00:00:00.000
    2009-01-04 00:00:00.000
    2009-01-05 00:00:00.000
    2009-01-06 00:00:00.000
    2009-01-07 00:00:00.000
    2009-01-08 00:00:00.000
    2009-01-09 00:00:00.000
    2009-01-10 00:00:00.000
     
    (10 row(s) affected)
    */
  • 相关阅读:
    MongoDB入门示例及介绍
    Oracle/PLSQL CURSOR FOR Loop
    JAVA写的文件分割与文件合并程序
    synchronized 解决死锁的问题 轉貼
    采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载
    chapter6作业
    chapter5作业
    chapter4作业
    Linuz系统管理 -----账号管理
    chapter02
  • 原文地址:https://www.cnblogs.com/accumulater/p/6244719.html
Copyright © 2011-2022 走看看