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

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

具体函数如下:

-- =============================================
-- 调用: 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编写,格式效果可能不太好。

[原创]SQL表值函数:返回从当前周开始往回的自定义周数的更多相关文章

  1. [原创]SQL表值函数:返回自定义时间段的日期数据

    跟以往类似,我依旧介绍一个我日常开发遇到的知识点,谨此记录一下,也希望能帮助到一些朋友. 这次我要介绍的是通过SQL函数返回你输入的两个时间点内的日期数据. 效果图如下: 执行函数:SELECT * ...

  2. [原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据

      我们日常开发过程中,非常常见的一种需求,把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据. 在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这 ...

  3. [原创]SQL 表值函数:获取从今天计算起往前自定义天数

    PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好. 在我开发过程中,遇到一个统计需求,结果是要求返回从当天起往回推算出自定义输入的天数 为此我写了一个表值函数 ...

  4. [原创]SQL表值函数:获取从当月计算起往前自定义月份数

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

  5. SQL表值函数和标量值函数的区别

    SQL表值函数和标量值函数的区别 写sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的, ...

  6. SQL 表值函数

    表值函数返回的是一张表. 情况:把传入的字符串按指定分隔符转换成数组 理解:把字符串打散,逐个插入表,这个表就是需要的数据 Create Function [dbo].[Split] ( ), ) ) ...

  7. PCB MS SQL表值函数与CLR 表值函数 (例:字符串分割转表)

    将字符串分割为表表经常用到,这里 SQL表值函数与CLR  表值函数,两种实现方法例出来如下: SELECT * FROM FP_EMSDB_PUB.dbo.SqlSplit('/','1oz/1.5 ...

  8. sql 表值函数与标量值函数

    写sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的,区别是表值函数只能返回一个表,标量 ...

  9. SQL 表值函数/标量函数

    表值函数 定义表值函数 --定义表值函数 CREATE FUNCTION GetStuScore(@Stu_ID INT ) RETURNS TABLE AS RETURN (SELECT ),[St ...

随机推荐

  1. 网络编程概述和IP地址的获取方法

    java网络通信概述 一.网络通信步骤: 主机1 主机2 QQ-------QQ FEIQ-----FEIQ 1.找到对方IP. 2.找到对方端口号.数据要发送到对方的应用程序上.为了标识这些应用程序 ...

  2. Python3 内置函数补充匿名函数

    Python3 匿名函数 定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问 def func(x,y,z=1): return x+y+z print(func(1,2,3)) 匿名 ...

  3. ll指令输出解析

    从左到右: 文件属性 共有10-11位,分别表示: 1.表示目标属性,d目录,l连结文件,-文件 2-4,owner权限,顺序为: r可读.w可写.x可执行,例如: rwx可读写执行,rw-可读写不能 ...

  4. Codeforces Round #256 (Div. 2) E. Divisors 因子+dfs

    E. Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  5. C++(十)— 字符串进行插入、替换、查找、删除操作、substr

     1.C++中对字符串进行插入.替换.删除操作 #include<iostream> #include<algorithm> #include<stdio.h> # ...

  6. 高并发下用pdo,文件排它锁,redis三种方法对比

    <?php header('content-type:text/html;charset=utf-8');                 // //无控制     // $DB_DSN = ' ...

  7. Eclipse_常用技巧_01_自动添加类注释和方法注释

    一.步骤 路径A=windows-->preference-->Java-->Code Style-->Code Templates-->Comments 自动添加注释一 ...

  8. Java---变量与常量

    Java中的关键字 Java 语言中有一些具有特殊用途的词被称为关键字.关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重 Java标识符 标识符就是用于给 Java 程序中变量.类 ...

  9. JavaWEB - JSP 指令

  10. java判断一个类是否公共类

    Modifier.isPublic([类].getModifiers()) Modifier.isAbstract([类].getModifiers())