我有一个Year列,其中包含2013、2012等内容,而month列则显示1-12。我需要使用这些列来创建一个日期,该日期总是拉出年份和月份表示为yyyymmdd的月份的最后一天。例如,如果year = 2018和Month = 3,则我需要将日期显示为20180331。Year和month字段是数字。我正在使用SQL Server 2014 Management Studio关于如何执行此操作的任何想法?
答案 0 :(得分:0)
您可以用这种方法拔喇叭:
选择REPLACE(CAST(EOMONTH(DATEFROMPARTS(2018,2,1))作为varchar(20)),'-','')
答案 1 :(得分:0)
我能够找到一个有效的公式,尽管上面的答案在代码中较小,并且可能是完成同一件事的更有效方法,我可以对其进行测试。这是我能够为感兴趣的人使用的代码。
CONVERT(VARCHAR(10),eomonth(CAST(CAST(FV_RPT_EMPLOYEECENSUS_ASOF.HRYEAR AS VARCHAR(4)) + RIGHT('0' + CAST(FV_RPT_EMPLOYEECENSUS_ASOF.HRPERIOD AS VARCHAR(2)), 2) + RIGHT('0' + CAST(01 AS VARCHAR(2)), 2) AS DATE)),112)