将varchar转换为datetime时出错

时间:2016-05-11 08:06:06

标签: sql sql-server sql-convert

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

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)

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:5)

请在使用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)