日期計算

●上個月的第一天
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate())-1, 0)

●上個月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)-1

●本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

●計算一個月第一天的SQL
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

●本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

●本月的第一個星期一
select DATEADD(wk, DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

●如何取得某個月的天數
  declare @m int
  set @m=2 –月份
  select datediff(day,’2003-‘+cast(@m as varchar)+’-15′ ,’2003-‘+cast(@m+1 as varchar)+’-15′)
  另外,取得本月天數
  select datediff(day,cast(month(GetDate()) as varchar)+’-‘+cast(month(GetDate()) as varchar)+’-15′ ,cast(month(GetDate()) as varchar)+’-‘+cast(month(GetDate())+1 as varchar)+’-15′)
  或者使用計算本月的最後一天的腳本,然後用DAY函數區最後一天
  SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))

●顯示星期幾
  select datename(weekday,getdate())

●去掉時分秒
declare @ datetime
  set @ = getdate() –‘2003-7-1 10:00:00’
  SELECT @,DATEADD(day, DATEDIFF(day,0,@), 0)

by mhchen15 on 14 3 月, 2012 in SQL SERVER, 資料庫

There are no comments.

Name*: Website: E-Mail*:
XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>