2 つの日付の間に次の結果を取得する必要があります。
開始日 =
2010 年 1 月 1 日 終了日 = 2012 年 10 月 21 日
結果:1年9ヶ月20日。
以下のコードを試してみましたが、うまくいきませんでした。時々負の日付を返します:
SELECT CAST(DATEDIFF(yy, date_start, date_end) AS varchar(4)) +' year '+
CAST(DATEDIFF(mm, DATEADD(yy, DATEDIFF(yy,date_start , date_end), date_start), date_end) AS varchar(2)) +' month '+
CAST(DATEDIFF(dd, DATEADD(mm, DATEDIFF(mm, DATEADD(yy, DATEDIFF(yy, date_start, date_end), date_start), date_end), DATEADD(yy, DATEDIFF(yy, date_start, date_end), date_start)), date_end) AS varchar(2)) +' day' AS result
ありがとう!