‘壹’ sql server里知道日期如何计算是第几周
自己把它写成存储过程,传个日期:
DECLARE@NOWDATEVARCHAR(10)
SET@NOWDATE='2015-03-06'
--记录日期第几周
DECLARE@NOW_WWINT
SELECT@NOW_WW=DATEPART(WW,@NOWDATE)
--记录日期星期几
DECLARE@NOW_DWINT
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
‘贰’ SQL SERVER查询时间是一年中第几周的函数
1、获取当前系统数据库的日期和时间,可以利用函数GETDATE(),select GETDATE()。
‘叁’ ORACLE SQL 求判断每天属于第几周的函数
给分吧,没啥说的。
select v_date_month,v_date_min,v_date_max,v_count /*该周在本月中的天数*/,
rownum - min(rownum) over(partition by v_date_month) + 1 v_zhou_seq /*本月中的第几周*/
from (
select to_char(v_date, 'yyyymm') v_date_month,
min(v_date) v_date_min,
max(v_date) v_date_max,
count(1) v_count
from (
--使用开窗函数对2010年全年周进行先后顺序的排序
select min(s_rownum) over(partition by rn) rn, a.v_date
from (select rownum s_rownum, to_char(v_date, 'iw') rn, v_date /*, v_date + 7*/ /*, v_zhou*/
from (
--取到2010年全年对应的星期几
select to_date('2010' || '0101', 'yyyymmdd') + rownum - 1 v_date,
to_char(to_date('2010' || '0101', 'yyyymmdd') + rownum - 1, 'day') v_zhou
from (
--取2010年的天数,并排序
select rownum
from al
connect by rownum <= to_date('2010' || '1231', 'yyyymmdd') -
to_date('2010' || '0101', 'yyyymmdd') + 1
)
)
order by v_date) a
order by v_date
)
group by to_char(v_date, 'yyyymm'), rn
order by rn
);
‘肆’ 判断某天是当月的第几周的sql函数
创建函数
CREATEFUNCTIONWeekOfMonth(@daydatetime)
RETURNSint
AS
begin
----declare@daydatetime
declare@numint
declare@Startdatetime
declare@ddint
declare@dayofweekchar(8)
declare@dayofweek_numchar(8)
declare@startWeekDaysint
---set@day='2009-07-05'
ifdatepart(dd,@day)=1
return1
else
set@Start=(SELECTDATEADD(mm,DATEDIFF(mm,0,@day),0))--一个月第一天的
set@dayofweek=(datename(weekday,@Start))---得到本月第一天是周几
set@dayofweek_num=(select(case@dayofweekwhen'星期一'then2
when'星期二'then3
when'星期三'then4
when'星期四'then5
when州旁让'星期五'then6
when'星期六'then7
when'星期日'then1
end))
set@dayofweek_num=7-@dayofweek_num+1---得到本月的第一周一共有几天
---print@dayofweek_num
set@dd=datepart(dd,@day)----得到今天是启颤这个月的第几天
--print@dd
if@dd<=@dayofweek_num--小于前一周的天数
return1
else
set@dd=@dd-@dayofweek_num
if@dd%7=0
begin
册局set@num=@dd/7
return@num+1
end
else--if@dd%7<>0
set@num=@dd/7
set@num=@num+1+1
return@num
end
测试
selectdbo.WeekOfMonth('2013-11-14')
结果
‘伍’ 如何用SQL计算某一天是一年中的第几周
select Datepart(week,getdate())
‘陆’ SQL函数如何判断数据库里的日期是当月的第几周的函数
datepart(wk,@date)
可以得到某天在本年的第几周,那么这一天的在本年的第几周
减去
这一天所在月的第一天在本年的第几周再加一,就是这一天在当月的周数。
declare
@date
datetime
set
@date
=
'2010-01-12'
select
cast(datepart(mm,@date)
as
varchar(2))
+
'月第'
+
cast((datepart(wk,@date)
-
datepart(wk,convert(varchar(7),@date,120)
+
'-01')
+
1)
as
varchar(2))
+
'周'
--1月第3周
‘柒’ SQL SERVER查询时间是一年中第几周的函数
1、获取当前系统数据库的日期和时间,可以利用函数GETDATE(),select GETDATE()。