在我的SQL Server过程中,我有一个输入参数,如created_date
。
根据创建日期,我必须找出当月的第一个和最后一个日期。
For example,
如果created_date为12-08-2016
,
start_date should be '01-08-2016'
end_date should be '31-08-2016'
如果Created_date是15-06-2016
start_date should be '01-06-2016 00:00:00'
end_date should be '30-06-2016 23:59:59'
答案 0 :(得分:1)
由于您的输入格式为dependencies = [
('some_app', '0003_auto_20160713_0435'),
('stores', '0002_stores'), # This is your latest migration in stores app
]
,因此需要先将其隐藏为DD-MM-YYYY
,然后才能轻松找到该月的第一天和最后一天。
以下查询将接受输入并以您期望的格式返回结果:
MM-DD-YYYY
输出:
DECLARE @datevalue AS VARCHAR(20) = '15-06-2016'; --12-08-2016';
SELECT CONVERT(VARCHAR(10), DATEADD(M, DATEDIFF(M, 0, CONVERT(DATETIME, @datevalue, 105)), 0), 105) [start_date],
CONVERT(VARCHAR(10), DATEADD(D, -1, DATEADD(M, DATEDIFF(m, 0, CONVERT(DATETIME, @datevalue, 105)) + 1, 0)), 105) [end_date]
答案 1 :(得分:0)
select
DATEADD(Month, DATEDIFF(Month, 0, GETDATE()), 0) as monthfirstdate,
CAST(EOMONTH(GETDATE()) as DATETIME) as monthlastdate
EOMONTH适用于SQL Server 2012