sqlserver中如何将第几周转为具体的日期
发布网友
发布时间:2022-05-06 11:06
我来回答
共3个回答
热心网友
时间:2022-05-06 12:36
CREATE function Week2Day(@intYear integer,@intWeek integer) returns varchar(50) as begin declare @dateFirstDayOfYear datetime declare @dateFirstDayOfWeek datetime declare @dateLastDayOfWeek datetime set @dateFirstDayOfYear=convert(smalldatetime,convert(varchar(4),@intYear) + '-1-1') set @dateFirstDayOfWeek=dateadd(day,1-datePart(weekday,@dateFirstDayOfYear),dateAdd(week,@intWeek-1,@dateFirstDayOfYear)) set @dateLastDayOfWeek=dateadd(day,6,@dateFirstDayOfWeek) RETURN convert(varchar(10),@dateFirstDayOfWeek,11) + '~' + convert(varchar(10),@dateLastDayOfWeek,11) end
热心网友
时间:2022-05-06 13:54
自己把它写成存储过程,传个日期:
DECLARE @NOWDATE VARCHAR(10)
SET @NOWDATE='2015-03-06'
--记录日期第几周
DECLARE @NOW_WW INT
SELECT @NOW_WW=DATEPART(WW,@NOWDATE)
--记录日期星期几
DECLARE @NOW_DW INT
SELECT @NOW_DW=DATEPART(DW,@NOWDATE)
IF(@NOW_DW > 5)
BEGIN
SET @NOW_WW = @NOW_WW + 1
END
ELSE
BEGIN
IF(DAY(@NOWDATE)>=26)
BEGIN
SET @NOW_WW = @NOW_WW + 1
END
END
SELECT @NOW_WW
sqlserver中如何将第几周转为具体的日期
1-datePart(weekday,@dateFirstDayOfYear),dateAdd(week,@intWeek-1,@dateFirstDayOfYear)) set @dateLastDayOfWeek=dateadd(day,6,@dateFirstDayOfWeek) RETURN convert(varchar(10),@dateFirstDayOfWeek,11) + '~' + convert(varchar(10),@dateLastDayOfWeek,11) end ...
sqlserver语句,按周分组统计数据,请各位大神指教小弟。
---把getdate()替换成你的日期字段就可以了, between and的2个日期分别是你说的2个年头年尾的情况 select case when getdate()>=cast('2014/1/1' as datetime) then datepart(week,getdate()) else 1 end as 第几周 --from table_name where getdate() between (case when datepart(we...
SQL SERVER查询时间是一年中第几周的函数
SQL SERVER查询时间是一年中第几周,使用函数 datepart()。例:查询 ‘2017-1-1’是2017年的第几周,语句如下 select datepart(wk,'2017-1-1')datepart函数说明 一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。二、语法:DATEPART(datepart,date)三、参...
sqlserver截取日期的年份和月份
一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。二、语法:DATEPART(datepart,date)三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:四、实例 1、截取年份:datepart(yy,'2017-1-1') 返回:2017 2、截取月份:datepart(mm,'20...
sqlserver如何根据当前日期获得上月某一天的日期
--根据当前时间查询上月26号的日期 SELECT CONVERT(varchar(10), CONVERT(varchar(8),dateadd(month,-1,getdate()),23)+'26' , 120)--根据当前时间查询本月月25号的日期 SELECT CONVERT(varchar(10), CONVERT(varchar(8),dateadd(month,0,getdate()),23)+'25' , 120)...
在sql中怎样获得已知日期是星期几
第一个:SELECT DECODE(dw,0,'星期天',1,'星期一',2,'星期二',3,'星期三',4,'星期四',5,'星期五',6,'星期六') WEEK_DAY FROM (SELECT 7 - TO_NUMBER(NEXT_DAY(TO_DATE('2012-12-12', 'yyyy-mm-dd'), 1) - TO_DATE('2012-12-12', 'yyyy-mm-dd')) dw FROM dual);...
SQLSERVER 列转行
至于PVT标题别名问题,这个可以在时间维度表中创建字符串类型的第几周等样式的列来完成。这种方式比较简单。或是 ---/*作者:Edwin数据库:SQL SERVER 2005+作用:指定时间区间的自然周销售,统计周期为某一年,如果垮年度,由外围验证Version 1.0Copyright (c) 2015, SQL SERVER 2008*/---/*参数设定...
sqlserver 写一个函数,能获取两个日期之间的周一到周五的总天数
--如果终止日期与起始日期在不同的星期内 --首先计算出除前后两个星期外完整的星期数 * 5 ELSE (DATEDIFF(dd,@bdate,@edate)- (8-DATEPART(dw, @bdate))- DATEPART(dw, @edate-1)) / 7 * 5 --再加上第一个星期里的工作日数 + CASE WHEN DATEPART(dw, @bdate) < 6 THEN 6 - ...
在SQLserver中如何获得两个日期相减的天数
declare @time1 datetime,@time2 datetimeset @time1='2016-11-24'set @time2='2015-11-11'select DATEDIFF(day,@time1,@time2) as [day],DATEDIFF(week,@time1,@time2) as [week],datediff(year,@time1,@time2) as [year]datediff函数,第一个是时间单位,例如按天算差距,或者按周算...
数据库中转换数据类型的几种方法
1、日期格式参数 含义说明 D 一周中的星期几。DAY 天的名字,使用空格填充到 9 个字符。DD 月中的第几天,DDD 年中的第几天。DY 天的简写名,IW ISO 标准的年中的第几周,IYYY ISO 标准的四位年份。YYYY 四位年份,YYY,YY,Y 年份的最后三位,两位,一位。select sysdate,sysdate - ...