私はあなたのために楽しいものを持っています。free_from と free_until の日付列を持つデータベースがあります。私が見つける必要があるのは、現在から今日までの 1 か月間の無料の日数です。たとえば、現在の日付が 2013/01/15 で、列が次のようになっているとします。
free_from | free_until
2013/01/12| 2013/01/17
2013/01/22| 2013/01/26
2013/01/29| 2013/02/04
2013/02/09| 2013/02/11
2013/02/14| 2013/02/17
2013/02/19| 2013/02/30
答えは、2 + 4 + 6 + 2 + 2 + 0 = 16 として 16 になります。
- 15 日が現在の日付であるため、最初の行は 12 日ではなく 15 日からカウントを開始します。
- 現在の日付から 1 か月以内の日付がないため、最後の行は割引されます。
free_from
日付は包括的free_until
で排他的であるため、日付をカウントする必要があります。
どこかで使用されると思いますが、私DATEDIFF()
の人生では、これを解決することはできません.
御時間ありがとうございます!
編集: これは PHP mysql_query に入るため、MYSQL で何ができるかについて少し制限される可能性があります。