例如,我有以下字符串2015089或2016075。
我需要根据给定的输入以yyyy/mm/dd
格式获得结果。
所以,基于2015089,我得到了2015/mm/dd
。 dd是2015年的第89天,mm是第89天的月份。
我该怎么办?
答案 0 :(得分:4)
我认为最简单的方法是使用dateadd()
转换为日期:
select dateadd(day, right(str, 3) - 1, datefromparts(left(str, 4) + 0, 1, 1) )
即,添加一个比年初的天数少一个。这假定Jan 1表示为" 1"而不是" 0"。
然后,您可以根据自己的喜好格式化日期。
在SQL Server 2012之前,您可以执行以下操作:
select dateadd(day, right(str, 3) - 1, cast(left(str, 4) + '0101' as date))