답변:
SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth
SELECT EOMONTH(@mydate) AS EndOfMonth
있으면 달의 마지막 날을 줄 것입니다.
SQL Server 2012부터 :
SELECT DATEADD(DAY,1,EOMONTH(@mydate,-1))
이번 달의 첫째 날과 마지막 날 :
select dateadd(mm, -1,dateadd(dd, +1, eomonth(getdate()))) as FirstDay,
eomonth(getdate()) as LastDay
SELECT @myDate - DAY(@myDate) + 1
Operand type clash: date is incompatible with int
합니다. -
날짜에 연산자 를 사용하려고했기 때문 일까요?
----Last Day of Previous Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
LastDay_PreviousMonth
----Last Day of Current Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
LastDay_CurrentMonth
----Last Day of Next Month
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0))
LastDay_NextMonth
이것은 새로운 기능 일 수도 있지만 이전 기능을 사용할 수도 있습니다.
select DATEFROMPARTS(year(@mydate),month(@mydate),'01')
예를 들어 변수 '2017-10-29'
의 날짜가 날짜를 반환하면'2017-10-01'
DECLARE @startofmonth date
SET @startofmonth = DATEADD(dd,1,EOMONTH(Getdate(),-2))
-2는 지난 달의 첫날을 알려줍니다. 즉, getdate ()는 10/15/18입니다. 결과는 9/1/18입니다. -1로 변경하면 결과는 10/1/18이됩니다. 0은 다음 달의 시작일, 11/1/2018 등이 될 것입니다.
또는
DECLARE @startofmonth date
SET @startofmonth = DATEADD(dd,1,EOMONTH(@mydate,-1))
SELECT DATEADD (DAY, -1 * (DAY(GETDATE()) - 1), GETDATE())
.................................................. ...................
시간을 원하지 않으면 DATE로 변환하거나 0:00:00으로 시간을 변경하려면 DATE로 변환 한 다음 DATETIME으로 돌아갑니다.
SELECT CONVERT (DATETIME,
CONVERT (DATE, DATEADD (DAY, -1 * (DAY(GETDATE()) - 1),
GETDATE())))
GETDATE ()를 원하는 날짜로 변경하십시오.
Sql Server 2012에서는
select getdate()-DATEPART(day, getdate())+1
select DATEADD(Month,1,getdate())-DATEPART(day, getdate())
이 쿼리는 MySQL에서 잘 작동합니다.
SELECT concat(left(curdate(),7),'-01')
SQL에서 매개 변수로 전달한 날짜의 첫 번째 날짜 및 마지막 날짜 가져 오기
@date DATETIME
SELECT @date = GETDATE()
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@date)-1),@date),105) AS value,
'First Day of Current Month' AS name
UNION
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@date))),
DATEADD(mm,1,@date)),105),
'Last Day of Current Month'
GO
**OutPut**
12/01/2019 First Day of Current Month
12/31/2019 Last Day of Current Month