您的位置:首页 > 数据库

[MSSQL]日期转换成所在年度第几周

2013-01-11 13:44 190 查看
今天财务总监说老板想看这样的统计信息,每周的销售情况。

所以要写如题函数 :

-- =============================================
-- Author:		<David Gong>
-- Create date: <2013-01-11>
-- Description:	<查询指定日期所在年份第几周>
-- =============================================
ALTER Function [dbo].[WeekOfDate]
(
@Date DateTime --要转换的日期
)returns INT
as
begin
DECLARE @Year      int                       --取得年份
DECLARE @StFinanceDate    VARCHAR(10)        --年度第一天
DECLARE @StarDay  DateTime                   --年度第一天,日期类
DECLARE @DayDiff int
DECLARE @Ret int                            --返回结果

SET @Year =DATEPART(year, @Date) --取得所在年份
SET @StarDay= CAST(@Year AS varchar)+'-01-01'
SET @DayDiff= DATEDIFF(day, convert(datetime,@StarDay,120), @Date)+1

IF @DayDiff % 7=0    SET @Ret=@DayDiff/7
IF @DayDiff % 7<>0   SET @Ret=@DayDiff/7+1

Return @Ret

end
报表:



函数参考网友的会计期间转换日期:

http://www.cnblogs.com/wsdj-ITtech/archive/2010/07/03/1770617.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: