广告
返回顶部
首页 > 资讯 > 数据库 >sql某个日期是当年的第几周
  • 775
分享到

sql某个日期是当年的第几周

sql某个日期是当年的第几周 2020-02-26 10:02:25 775人浏览 猪猪侠
摘要

CREATE function GetWeekIndexFirstDate ( @date datetime ) returns int as begin declare @index int; d

sql某个日期是当年的第几周


CREATE function GetWeekIndexFirstDate
(
   @date datetime
)
returns int
as
begin
 

 
   declare @index int;
   declare @firstDate datetime;--当年的1月1号
   declare @firstSunday datetime;--当年的第一个周日
   declare @firstWeekSunday datetime;--当年的第一周的周日
 
   set @firstDate = convert(datetime,convert(varchar(4),Year(@date)) + "-1-1")
 
   set @firstSunday = case when datepart(dw,@firstDate)=1 then @firstDate else dateadd(dd,8-datepart(dw,@firstDate),@firstDate) end;
 
   if(@date<=@firstSunday)
      set  @index = 1;
   else
      set @index = ceiling(datediff(dd,@firstSunday,@date)/7.0)+1
 
   return @index;
end



 
 

CREATE function GetWeekIndexFirstMonday
(
   @date datetime
)
returns int
as
begin
 
 
 

 
   declare @index int;
   declare @firstDate datetime;--当年的1月1号
   declare @firstMonday datetime;--当年的第一个周一
   declare @lastYearFirstDate datetime;--上一年的1月1号
   declare @lastYearFirstMonday datetime;--上一年的第一个周一
 
   select @firstDate = convert(datetime,convert(varchar(4),Year(@date)) + "-1-1")
      , @lastYearFirstDate = convert(datetime,convert(varchar(4),datepart(yyyy,@date)-1) + "-1-1")
 
   select @firstMonday = case when datepart(dw,@firstDate)<=2 then dateadd(dd,2-datepart(dw,@firstDate) ,@firstDate)
                      else dateadd(dd,9-datepart(dw,@firstDate),@firstDate) end
      ,@lastYearFirstMonday = case when datepart(dw,@lastYearFirstDate)<=2 then dateadd(dd,2-datepart(dw,@lastYearFirstDate) ,@lastYearFirstDate)
                      else dateadd(dd,9-datepart(dw,@lastYearFirstDate),@lastYearFirstDate) end;
 



   if(@date >=@firstMonday)
      set  @index = floor(datediff(dd,@firstMonday,@date)/7.0)+1;
   else
      set @index = floor(datediff(dd,@lastYearFirstMonday,@date)/7.0)+1
 
   return @index;
end
 
 

 

您可能感兴趣的文档:

--结束END--

本文标题: sql某个日期是当年的第几周

本文链接: https://www.lsjlt.com/news/5931.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sql某个日期是当年的第几周
    CREATE function GetWeekIndexFirstDate ( @date datetime ) returns int as begin declare @index int; d...
    99+
    2020-02-26
    sql某个日期是当年的第几周
  • php怎么获取当前日期是一年的第几周
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以利用date()函数来获取当前日期是一年的第几周。date() 函数可以格式化一个本地的时间或日期,该函数的语法格式如下:date($format [,...
    99+
    2021-03-08
    php 当前日期 一年的第几周
  • php如何获取当前日期是一年的第几周
    这篇文章主要讲解了“php如何获取当前日期是一年的第几周”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何获取当前日期是一年的第几周”吧!在php中,可以利用date()函数配合“W”...
    99+
    2023-06-29
  • php如何获取日期是当月第几周
    本篇内容主要讲解“php如何获取日期是当月第几周”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何获取日期是当月第几周”吧!php获取日期是当月第几周的方法:首先创建一个PHP示例文件;然...
    99+
    2023-06-20
  • php怎么判断指定日期是当年的第几天
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以利用date()函数来计算指定日期是当年的第几天。date()函数可以指定时间戳,转为一年中的第几天。语法:date(format,timestamp)...
    99+
    2021-07-30
    php strtotime() date() 一年中的第几天
  • php怎么计算指定日期是一年中的第几周
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在PHP中,可以date()函数来计算指定日期是一年中的第几周date() 函数格式化本地日期和时间,并返回格式化的日期字符串。语法:date(format,times...
    99+
    2016-10-01
    php 日期 时间
  • php如何获取指定日期是一周的第几天
    这篇文章主要讲解了“php如何获取指定日期是一周的第几天”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何获取指定日期是一周的第几天”吧!获取方法:1、定义“array("7...
    99+
    2023-06-21
  • Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
    本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法。分享给大家供大家参考,具体如下: #基于 Python3 一种做法: def is_leap_year(year): #...
    99+
    2022-06-04
    这一 几天 计算出
  • java中计算指定日期是一年的第几天的方法
    Java输入日期计算是这年的第几天:思路通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天;12 月份 31 天其余月份均为 30 天;然后将每个月的天数相加即可,注意如果输入的是 12 月份,则是从 11 月份往...
    99+
    2019-12-26
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作