zoukankan      html  css  js  c++  java
  • [原创]SQL表值函数:返回从当前周开始往回的自定义周数

    一如往常一样,一篇简短博文记录开发过程中遇到的一个问题。初衷都是记录自己的一些Idea,也是希望能够帮助一些凑巧遇到此类需求的问题,这个需求的的开端是因为,要统计最近N周的销售数据。

    接下来我们来看看执行函数的效果如下图: select  * from  [dbo].[Fn_RunWeek] (-12)

    image

    具体函数如下:

    -- =============================================
    -- 调用: select  * from  [dbo].[Fn_RunWeek] (-12)
    -- Create date: 2015-01-14
    -- Description:    返回从这周开始往回的N周数据(一年52周)
    -- =============================================
    ALTER FUNCTION [dbo].[Fn_RunWeek] (@num INT=-12)
    RETURNS @tab TABLE
        (
         Sale_Year VARCHAR(10) ,
         XSDate VARCHAR(10) ,
         Sort INT
        )
    AS
        BEGIN 
            DECLARE @week INT
            SELECT  @week=DATEPART(wk, GETDATE())
            DECLARE @i INT 
            SET @i=0
            WHILE (@i>@num)
                BEGIN
                    INSERT  INTO @tab
                            SELECT  [Sale_Year] = YEAR(DATEADD(week, @i, GETDATE())) ,
                                    [XSDate] = DATEPART(wk, (DATEADD(week, @i, GETDATE()))) ,
                                    Sort = @i
                    SET @i=@i-1
                END
            RETURN
        END

    如果朋友们觉得以后可能会用到的话,欢迎转载,当然也可以推荐一下,谢谢。

    PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好。

  • 相关阅读:
    javascript的严格模式:use strict
    Ionic在线打包IOS平台应用
    安装nodejs6.9x以后,原来在nodejs4.2.x中运行正常的ionic项目出现问题的解决
    cordova插件分类
    ionic 启用sass
    ngCordova
    为Asp.net WebApi 添加跨域支持
    使用ionic framework创建一个简单的APP
    研究主题
    近两天让我羞愧难当的遭遇
  • 原文地址:https://www.cnblogs.com/lhmlyx2723356/p/4225407.html
Copyright © 2011-2022 走看看