将 varchar 转换为 datetime 时出错

Error in Converting varchar to datetime

我正在尝试将 varchar 转换为 datetime,当我像这样使用转换函数时一切正常:

SELECT CONVERT(Datetime, '2016-01-01 00:00:00.000', 120)

但是当我尝试声明一个 varchar 参数并将其传递给函数时,我遇到了错误

declare @input varchar = '2016-01-01 00:00:00.000'
SELECT CONVERT(Datetime, @input, 120)

任何帮助将不胜感激

使用 varchar 时请指定大小。

varchar = '2016-01-01 00:00:00.000''2' --SELECT @input

使用

declare @input varchar(30) = '2016-01-01 00:00:00.000'
SELECT CONVERT(Datetime, @input, 120)