2016-08-29 40 views
-2

私は私が持っている日付計算減算日付

... sales_start_date(値... 2015年7月23日、2014年6月17日のように)私はsales_start日に基づいて計算を行う必要があり でフィールドを持っています直近の月末の日付を取る(この値を2016-07-31に強制しなければならない)、sale_start_dateを減算して経過日の整数を取得する。渡された日数が2未満でデフォルト値2

sales_start_date

2016-01-01 
2016-07-30 

出力された場合

Calculated field 
155 
2 

はいずれもcase文を書くことで私を助けることができます。 あなたのご協力が大変ありがとうございます。

ありがとう、 スワチ。

+0

スタックオーバーフローはコード記述サービスではありません。問題を解決するためのあなたの試みを示し、あなたが立ち退かれた場所を説明してください。 – alroc

+0

私はcase文を書く方法を知っていて、DATEADD(DAY、-30、COLUMNAME)を使って30日か2か月のマイナスを行う方法を知っていますが、日数の整数値を得る方法を引く方法はわかりません。アドバイスありがとう。 – swathi

+0

もう一度 - あなたが持っている質問を表示し、あなたが立ち往生している場所を指摘してください。 – alroc

答えて

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

ありがとうございました..それは私のために働いた... – swathi

0

SQLサーバー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