zoukankan      html  css  js  c++  java
  • [原创]SQL表值函数:获取从当月计算起往前自定义月份数

    今天我现在发现看一篇博文不能够太长,只要能够描述清楚自己想表达的东西,能够让大家知道你要讲什么就行了。因为我今天看了一些长篇博文,真的觉得知识点太多了, 会让人囫囵吞枣。

    这篇博文跟我昨天发表的类似,同样是为了解决一个统计需求,结果是要求返回从当月起往回推算出自定义输入的月份

    喜欢总结的我,为此写了一个表值函数来解决这一需求。现记录一下,也希望能帮助到一些也遇到此类问题的朋友。

    首先我们看一下执行效果图:

    返回最近一年即是十二个月的数据,执行调用函数:SELECT * FROM [Fn_RunMonth](-12)

    image

    具体函数如下:

    -- =============================================
    -- 调用:SELECT * FROM [Fn_RunMonth](-12)
    -- Create date:2015-01-12
    -- Description:    获取从当月计算起往前 @num 月,返回Table
    -- =============================================
    CREATE FUNCTION [dbo].[Fn_RunMonth] (@num INT=-12)
    RETURNS @tab TABLE
        (
         Sale_Year VARCHAR(10) ,
         XSDate VARCHAR(10) ,
         Sort INT
        )
    AS
        BEGIN

            DECLARE @i INT 
            SET @i=0
            WHILE (@i>@num)
                BEGIN
                    INSERT  INTO @tab
                            SELECT  [Sale_Year] = YEAR(DATEADD(month, @i, GETDATE())) ,
                                    [XSDate] = MONTH(DATEADD(month, @i, GETDATE())) ,
                                    Sort = @i
                    SET @i=@i-1
                END
            RETURN
        END

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

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

  • 相关阅读:
    4个小时实现一个HTML5音乐播放器
    一款好看+极简到不行的HTML5音乐播放器-skPlayer
    操纵浏览器的历史记录
    基于jQuery查找dom的多种方式性能问题
    你真的了解console吗?
    关于overflow:hidden和bfc
    jQuery插件开发
    深入浅出jsonp
    jQuery.extend 函数详解
    [转] Hibernate一级缓存、二级缓存
  • 原文地址:https://www.cnblogs.com/lhmlyx2723356/p/4217686.html
Copyright © 2011-2022 走看看