1 某一天的所在月的第一天:
select date_add(date_add(last_day('2008-02-01'),interval 1 day),interval -1 month)
某一天的所在月的最后一天:
select last_day('2008-02-01')
2 加在语句中:
select ... where dt between date_add(date_add(last_day('2012-02-01'),interval 1 day),interval -1 month) and last_day('2012-02-01')
1 某一天的所在月的第一天:select date_add(date_add(last_day('2008-02-01'),interval 1 day),interval -1 month)
某一天的所在月的最后一天:
select last_day('2008-02-01')
2 加在语句中:
select ... where dt between date_add(date_add(last_day('2012-02-01'),interval 1 day),interval -1 month) and last_day('2012-02-01')
可以利用sql函数实现,首先获取传递过来的日期中的天数,然后减去(天数-1),即可得到第一天日期。例如mysql:DATE_SUB($[yyyy-mm-dd], INTERVAL (DAY($[yyyy-mm-dd]) -1) DAY)
大体思路是这样的,不同的数据库sql日期函数略有不同,自己调试下吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)