0

私のmysqlテーブルには、すべて整数(int)の列startYear、startMonth、endYear、endMonthがあります。そこに何かの開始年と月、終了年と月を保存しました。たとえば、車の分割払いの期間を保存したいので、startYear は 2012、startMonth は 8、endYear は 2019、endMonth は次のようになります。 7

わかりましたので、実際の現在の月は 9 (9 月) で 2013 年なので、現在の月と年が startYear、startMonth および endYear、endMonth 内にあるかどうかを確認するための最良の方法/クエリは何ですか?

4

2 に答える 2

0

BETWEENは、値が最初の数値以上であるか、2 番目の数値以下であるかを確認します。

IF (MONTH(CURDATE()) BETWEEN startMonth and endMonth) AND (YEAR(CURDATE()) BETWEEN startYear and endYear))
于 2013-09-05T17:37:52.767 に答える
0

Try this:

CURDATE() BETWEEN CONCAT_WS('-', startYear, startMonth, '01')
                  AND CONCAT_WS('-', endYear, endMonth, '31');
于 2013-09-05T18:20:02.620 に答える