sql - 从月份名称和年份在sql中获取该月份的日期范围

标签 sql sql-server date

我有月份名称和年份,我想要那个月份的日期范围。

输入

@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/

相关文章:

c# - SQL 2008 : returning data rows as JSON?

sql - 如何为这个逻辑(has_many、belongs_to 关联)编写 SQL 查询?

Php 错误消息 "Uncaught exception ' 异常',消息为 'Query Failed:Array"

c# - 如何在sql中获取下一个自增值

VB.net 如何比较年份差异

MySql-如何获取月份的日期列表

sql - SUM 聚合函数和子查询-SQL

sql - sys.tables MS SQL Server 中的 lob_data_space_id

c# - "using"后ConnectionString属性还没有初始化

PHP DateTime 时区 - 构造函数与 Setter 方法