喜月的最后一天,我有一个月的时间数和年如:月2和2014年如何获得的第一天,从给定的年份和月份在SQL
我怎样才能得到的第一天月如2014-02-01和2014-02-28月的最后一天?
我看到的越来越基于给定日期月的第一个和最后一天很多帖子,但我需要它基于给定年份和月份提前
喜月的最后一天,我有一个月的时间数和年如:月2和2014年如何获得的第一天,从给定的年份和月份在SQL
我怎样才能得到的第一天月如2014-02-01和2014-02-28月的最后一天?
我看到的越来越基于给定日期月的第一个和最后一天很多帖子,但我需要它基于给定年份和月份提前
在MySQL
感谢:
SELECT DATE_SUB(LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)),
INTERVAL DAY(LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)))-1 DAY) AS firstOfNextMonth,
LAST_DAY(DATE_ADD(NOW(),
INTERVAL 1 MONTH)) AS lastOfNextMonth
在SQL Server
:
select convert(varchar,dateadd(d,-(day(getdate()-1)),getdate()),106) 'Date'
union all
select convert(varchar,dateadd(d,-day(getdate()),dateadd(m,1,getdate())),106)
的C的第一天urrent月:
SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
要获得当月的最后一天:
SELECT DATEADD (dd, -1, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) + 1, 0))
Refernce:Get first and last day of month in SQL 2012 and SQL 2008
不是一个问题的任择议定书,但可能会有所帮助别人
postgres中的解决方案:
SELECT to_date((2012 || '-' || 9)::text, 'YYYY-MM') AS first_day,
(to_date((2012 || '-' || 9)::text, 'YYYY-MM') + interval '1 month' - interval '1 day')::date AS last_day
在SQL Server 2012及更高版本
DECLARE @year int = 2014
DECLARE @month int = 12
SELECT
DATEFROMPARTS (@year, @month, 1) AS MonthStart,
EOMONTH (DATEFROMPARTS (@year, @month, 1)) AS MonthEnd
结果
MonthStart MonthEnd
---------- ----------
2014-12-01 2014-12-31
(1 row(s) affected)
更多细节 DATEFROMPARTS:http://msdn.microsoft.com/en-gb/library/hh213228.aspx EOMONTH:http://msdn.microsoft.com/en-us/library/hh213020.aspx
哇!下周我会升级到SQL Server 2012! :) – tezzo 2014-09-26 15:36:56
在MS SQL Server 2008中,下面好像工作:
DECLARE @Month INT = 10;
DECLARE @Year INT = 2016;
DECLARE @FirstDayOfMonth DATETIME = CAST(@Year AS varchar) + '-' + CAST(@Month AS VARCHAR) + '-1';
DECLARE @LastDayOfMonth DATETIME = DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @FirstDayOfMonth) + 1, 0));
SELECT @FirstDayOfMonth, @LastDayOfMonth; -- 2016-10-01, 2016-10-31
你需要SQL标准,mysql方言或mssql方言的答案吗?阅读您的帖子的标签,它不明确。 – Paolo 2014-09-26 14:15:18
第一次约会是否有一个月不是“1”?!?! – Strawberry 2014-09-26 14:38:52
Problaly这就是为什么MySql没有函数first_day – Gervs 2014-09-26 15:12:01