kok*_*kou 2 sql sql-server datetime
我正在研究数据,我有一个year专栏(2015年,2016年,2013年......)和一个季度(1或2或3或4)专栏.我想将它们转换为新的数据类型列datetime.我已经搜索了一点,我发现了另一个问题SO 这里.
该页面的答案是:
Select
dateadd(day, -1, dateadd(year, @year - 1900, dateadd(quarter, @qq, 0)))
Run Code Online (Sandbox Code Playgroud)
我认为这是解决方案,但我很难理解它,我不希望(如果可能的话)使用变量,而只是在查询中转换.
在SQL Server 2012+中,您将使用datefromparts()该季度的第一天:
select datefromparts( YearColumn, QuarterColumn * 3 - 2, 1)
Run Code Online (Sandbox Code Playgroud)
奇怪的dateadd()表达用于获得一年的第一天.