今天遇到計算周次的問題,最大問題是,以一年的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...