如何用SQL把字符型2016R365转换成日期行yyyy-mm-dd,365代表2016年的第365天,查询结果应该是2016-12-31

需要得出2016年第312天是2016年的几月几日

第1个回答  2016-12-26

稍有些烦,但不难。充分使用日期函数:

SELECT DateAdd(d,
    ,CAST(SubString(StrDate, 6, 3) AS INT) - 1 -- 取出天数,需-1
    ,DateAdd(y
        ,Left(StrDate, 4) - 2000
        ,'2000-01-01'
        ) -- 转换到该年度的第1天
    )

本回答被网友采纳
第2个回答  2016-12-26
使用函数
DATEADD
第3个回答  2016-12-26
select DATEADD( day, cast( substring( '2016R365',6, len( '2016R365')-5) as int),cast( substring( '2016R365',1,4) + '-01-01' as datetime) )本回答被提问者采纳
相似回答