我试图将VARCHAR
转换为日期并以德语方式设置输出样式:
UPDATE TABLE SET C1 = CONVERT(DATE,CONVERT(VARCHAR,C2,104))
whereas C1 = VARCHAR(15) and C2 = INTEGER.
提前谢谢!
答案 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格式,我从来没有遇到直接转换为日期的麻烦