我想问一下是否有更快的方法:
CONVERT(NVARCHAR(10), CONVERT(date, '18.02.2016', 104), 112)
以下内容会产生错误:
CONVERT(date, '18.02.2016', 112)
输入的字符串不是112
使用SQL Server 2012。
答案 0 :(得分:2)
第一个表达式是正确的方法,您可以考虑使用char(10)。
使用FORMAT的这种替代方法将允许除标准格式之外的其他方法。 FORMAT是在sqlserver 2012中引入的。
SELECT FORMAT(CONVERT(date, '18.02.2016', 104), 'yyyyMMdd')
答案 1 :(得分:0)
有了这个:
set dateformat dmy
select CONVERT(datetime, '18.02.2016')
结果是:
2016-02-18 00:00:00.000
所以:
set dateformat dmy
select CONVERT(VARCHAR(10), CONVERT(datetime, '18.02.2016'), 112)
结果是:
20160218