Ответ 1
Первый день следующего месяца:
sql-server 2012 +
DATEADD(d, 1, EOMONTH(current_timestamp))
sql-server 2008 и старше:
DATEADD(m, DATEDIFF(m, -1, current_timestamp), 0)
Я пытаюсь получить результаты, когда он отображает только OrderDates до последнего дня месяца CURRENT. Я предполагаю, что это будет так...
SELECT OrderDate
FROM Orders
WHERE OrderDate < (code for first day of the next month?)
Первый день следующего месяца:
sql-server 2012 +
DATEADD(d, 1, EOMONTH(current_timestamp))
sql-server 2008 и старше:
DATEADD(m, DATEDIFF(m, -1, current_timestamp), 0)
Ваш вопрос несколько неоднозначен, но это даст вам (код для первого дня месяца) '
SELECT OrderDate
FROM Orders
WHERE ORDERDATE < DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
Этот:
DATE_FORMAT(NOW()+interval 1 month,'%Y-%m-01 00:00:00')
Попробуйте это
SELECT OrderDate
FROM Orders
WHERE ORDERDATE < DATEADD(dd,-(DAY(DATEADD(mm,1,getdate()))-1),DATEADD(mm,1,getdate()))
Взгляните на здесь
SELECT DATEADD (месяц, DATEDIFF (месяц, 0, getdate()) + 1, 0) AS StartOfMonth