--使用dateadd設定為現在日期的1個月後 select dateadd(month,1,getdate()) "1個月後是" go --以字串char(7)來取得年與月,2010/01 --並在尾端加上'/1',使字串成為2010/01/1 select convert(char(7),dateadd(month,1,getdate()),111)+'/1' "下個月1日的日期" go --將字串轉換為日期格式 select convert(datetime,(convert(char(7),dateadd(month,1,getdate()),111)+'/1')) "日期格式" --下個月初減一日,就是這個月底 select DATEADD(day, -1, convert(datetime,(convert(char(7),dateadd(month,1,getdate()),111)+'/1'))) "月底日期"
一步一步加上去,千萬不要心急。
另外以前在寫網頁有種需求,需要取得伺服器上的時間來進行一些工作,因為一般使用Javascript或ASP取得的是Client電腦的時間,所以還必須大費周章。
select CONVERT(char,getdate(),111) "日期", CONVERT(char,GETDATE(),120) "日期時間"
其實只要使用SQL語法去取得Server的時間,然後轉換成字串,然後讓ASP去取得SQL丟出的時間就可以了。就不用怕Client修改本機時間,或本機時間不準。有時實在腦袋實在轉不過來,你現在解決不了的問題(一直在想,怎麼用ASP或Javascript來解決),其他地方已經幫你解決了。
提醒自己:讓ASP.NET專注在網頁,資料的事就交給資料庫來處理。
有辦法一次將當年度的『所有』月底日都找出來嗎???
回覆刪除select dateadd(month,1,getdate()) 加 1 是下個月,加 2 就是下下個月,加 3 就是下下下個月 … 這會很難嗎? ^_^
回覆刪除是不難,但如何將『當年度』所有的月底日一次全部秀出來???用getdate()來處理,會隨時間軸改變而改變!!
回覆刪除SELECT DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE() ), -1)
回覆刪除這個語法比較短也可以有一樣的結果喔!
參考來源:https://dotblogs.com.tw/lastsecret/2010/10/04/18097