startDate
とendDate
を格納する2つの列を持つテーブルを作成しました。例えばMySQLは2つの日付を計算する
:
ID startDate endDate
1 2011-04-19 2011-04-21
私はこの2日間の差異を計算し、 "3" を返すようにしたいです。それはSQLを使用して計算することは可能ですか?
startDate
とendDate
を格納する2つの列を持つテーブルを作成しました。例えばMySQLは2つの日付を計算する
:
ID startDate endDate
1 2011-04-19 2011-04-21
私はこの2日間の差異を計算し、 "3" を返すようにしたいです。それはSQLを使用して計算することは可能ですか?
あなたはこのためにDATEDIFF
を使用することができます。
SELECT DATEDIFF(endDate, startDate) + 1
FROM mytable
注:あなたはstartDate
が結果に含まれ得るように1を追加する必要があります。
使用DateDiff関数
select datediff(enddate, startdate) + 1 from your_table
はい、まさにそのMySQLでDATEDIFF()関数があります。 SELECT DATEDIFF(endDate、startDate)は差異(2ではなく3)を返します。
DATEDIFF
関数を使用してください。
SELECT DATEDIFF(endDate,startDate)+1 AS Difference
FROM yourtable
出力
Difference
3
SQLフィドル:ここhttp://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_datediffhttp://sqlfiddle.com/#!9/9373ec/3/0
もっと読書。
はい。無数のソースで説明されているように、SQLを使用して計算することは完全に可能です。 – Strawberry