我有月份名称和年份,我想要那个月份的日期范围。
输入
@Input=August 2014
输出
@fromDate=08/01/2014(MM/dd/YYYY)
@toDate=08/31/2014
请帮我做这个
最佳答案
在MySQL中,你可以使用str_to_date
将字符串转换为日期。使用 %M
指定月份,使用 %Y
指定年份:
select str_to_date('August 2014', '%M %Y') dt
-->
2014-08-00
因为一个月的第一天总是第一天,所以可以这样找到:
date_format(dt ,'%Y-%m-01')
-->
2014-08-01
last_day
函数返回该月的最后一天。我在第一天通过,因为 last_day
函数不喜欢 str_to_date
返回的 00
天部分:
last_day(date_format(dt ,'%Y-%m-01'))
-->
2014-08-31
合并所有内容:
select date_format(dt ,'%Y-%m-01')
, last_day(date_format(dt ,'%Y-%m-01'))
from (
select str_to_date('August 2014', '%M %Y') dt
) as SubQueryAlias
-->
2014-08-01 2014-08-31
关于sql - 从月份名称和年份在sql中获取该月份的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25545159/