在我的mysql表中,有startYear,startMonth,endYear,endMonth列,它们都是整数(int)。在那里我存储起始年份和月份,并结束年份和月份的东西..例如我想存储我的汽车分期付款的持续时间,所以startYear将有2012年,startMonth将有8,endYear将有2019年,endMonth将有7
好的,因为现在实际当前月份是9(9月)和2013年,我检查当前月份和年份是否在startYear,startMonth和endYear,endMonth之内的最佳方式/查询是什么?
答案 0 :(得分:0)
BETWEEN将检查值是否大于或等于第一个数字,并且小于或等于第二个数字。
IF (MONTH(CURDATE()) BETWEEN startMonth and endMonth) AND (YEAR(CURDATE()) BETWEEN startYear and endYear))
答案 1 :(得分:0)
试试这个:
CURDATE() BETWEEN CONCAT_WS('-', startYear, startMonth, '01')
AND CONCAT_WS('-', endYear, endMonth, '31');