转换成日期

时间:2016-07-19 14:35:25

标签: sql sql-server

我试图将VARCHAR转换为日期并以德语方式设置输出样式:

UPDATE TABLE SET C1 = CONVERT(DATE,CONVERT(VARCHAR,C2,104))


whereas C1 = VARCHAR(15) and C2 = INTEGER.

提前谢谢!

2 个答案:

答案 0 :(得分:0)

int需要成为varchar,然后成为date,然后转换回varchar

DECLARE @C2 INT = 20160719
SELECT CONVERT(VARCHAR(10), CAST(CAST(@C2 AS VARCHAR(8)) AS DATE), 104)

--
19.07.2016

答案 1 :(得分:0)

您的字符串似乎是iso格式,因此将其转换为日期,然后转换为德语格式字符串

declare @sdate varchar(15) = '19760229';

select convert(varchar(50),cast(@sdate as datetime), 104);

注意YYYYMMDD,是一种可靠的ISO格式,我从来没有遇到直接转换为日期的麻烦