将年份列和月份列组合到目前为止

时间:2017-01-10 17:25:51

标签: sql sql-server tsql date

在我的数据库中,我有一个report_year列(char(4))和一个report_month列(varchar(2))。我正在制作一个使用存储过程的ssrs报告,并从该表中提取数据,我的参数是日期和年份。我通过投射两个列并连接它们来成功实现这一点,同时添加一个" /"之间。因此,在SSRS报告中,用户需要输入的参数是月份和日期(例如09/2016)。

用户希望下拉菜单来获取日期。由于我的参数是一个varchar,它会逐字地询问上面格式化的月份和年份。反正有没有这一天,只有一个月和一年,这是迄今为止?我尝试过datediff和dateadd函数,但我没有运气。

1 个答案:

答案 0 :(得分:1)

Select BegMonth = cast(Replace('09/2016','/','/01/') as date)
      ,EndMonth = EOMonth(cast(Replace('09/2016','/','/01/') as date))

返回

BegMonth    EndMonth
2016-09-01  2016-09-30