以第乙個周一算周次

2022-09-08 09:03:09 字數 812 閱讀 7355

今天遇到計算周次的問題,最大問題是,以一年的1月一號位開始算第一周還是以第乙個周一算,查了很多網友的寫的方法都是以一年的一月一號開始計算的

sql2000的資料庫基本函式也是這麼算了

所以就自己寫了個函式 用來計算以一年第乙個周一算的周次

下面是我寫資料庫函式

create function [dbo].[getweek] (@date char(10)) 

returns int  as 

begin

declare @oldyear char(4)

declare @strdate char(10)

declare @strweek int

declare @newdate char(10)

declare @weekresult int

select @oldyear=datepart(yyyy,@date),

@strdate=@oldyear+'-01-01'

select @strweek=datepart(dw,@strdate),

@strweek=2-@strweek

select @newdate=dateadd(dd,@strweek,@strdate)

if(datepart(dw,@date)=1)

(select @weekresult=datediff(wk,@newdate,@date)

)else

(select @weekresult=datediff(wk,@newdate,@date)+1

)return @weekresult

end

一周一演算法 演算法7 Dijkstra最短路演算法

上週我們介紹了神奇的只有五行的floyd最短路演算法,它可以方便的求得任意兩點的最短路徑,這稱為 多源最短路 本週來來介紹指定乙個點 源點 到其餘各個頂點的最短路徑,也叫做 單源最短路徑 例如求下圖中的1號頂點到2 3 4 5 6號頂點的最短路徑。與floyd warshall演算法一樣這裡仍然使用...

python第乙個程式設計 第乙個 Python 程式

簡述 安裝完 python 後,windows 中 開始選單或安裝目錄下就會有 idle 開發 python 程式的基本 ide 整合開發環境 幫助手冊 模組文件等。linux 中 只需要在命令列中輸入 python 命令即可啟動互動式程式設計。互動式程式設計 互動式程式設計不需要建立指令碼檔案,是...

一天一演算法(46) 第乙個出現一次的字元

在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 注意看,字元要區分大小寫,所以這道題難度就上去一點了,但是還是簡單的。一共有兩種解題方法,一種是利用字典去統計字元出現的次數,一種是利用陣列去統計字元出現的次數 u...