我有一个sales_start_date字段(值类似2014-06-17,2015-07-23 ......) 我需要根据sales_start日期进行计算..
我必须采用最近的月末日期(我必须将此值强制为2016-07-31)并减去sale_start_date以获取经过的天数的整数计数。如果过去的天数小于2,则默认值为2
sales_start_date
2016-01-01
2016-07-30
输出
Calculated field
155
2
任何人都可以帮我写一些案例陈述。 非常感谢您的帮助。
谢谢你, Swathi。
答案 0 :(得分:0)
您基本上需要使用DATEDIFF
SELECT DATEDIFF(day,<enter start date column here>,<most recent month-end date column here>) AS [Calculated field]
FROM <your table here>
答案 1 :(得分:0)
SQL-server 2012 +你有EOMONTH()来帮助你更轻松地到月底。
;WITH cteData AS (
SELECT CAST('2016-01-01' AS DATE) as Start_date
UNION ALL
SELECT '2016-07-30'
)
SELECT
EOMONTH(DATEADD(MONTH,-1,GETDATE())) as EndOfPreviousMonth
,DATEDIFF(DAY,Start_date,EOMONTH(DATEADD(MONTH,-1,GETDATE()))) + 1 as DaysDifferent
FROM
cteData