11

2013/01/01 のような先月の初日を取得しようとしています。また、2013/01/31 のような前月の最終日も取得したいと考えています。3 月であれば、2013 年 2 月 1 日と 2013 年 2 月 28 日などと同じことをしたいと思います。

4

6 に答える 6

38

これはそれを行う必要があります:

--First day of last month
SELECT DATEADD(m,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()), 0))
--Last day of last month
SELECT DATEADD(d,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
于 2013-02-28T20:29:53.053 に答える
0

ここに私の解決策があります

DECLARE @Today DATETIME
SELECT @Today = GETDATE()

  update  Test.dbo.DateTable
  set StartDate = (
SELECT convert (varchar, DATEADD(dd,-(DAY(DATEADD(mm,1,@Today))-1),DATEADD(mm,-1,@Today)),101))

update Test.dbo.DateTable
set EndDate = (
SELECT convert(varchar, DATEADD(dd, -DAY(DATEADD(m,1,@Today)), DATEADD(m,0,@Today)),101))
于 2013-02-28T20:47:15.967 に答える
0

前月の最初の日

convert (date,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)) 

前月の最終日

convert (date,DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)))
于 2014-11-11T10:08:28.377 に答える