當前位置:首頁 » 編程語言 » sql取第幾周
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql取第幾周

發布時間: 2023-06-17 14:17:51

『壹』 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()。