nvarchar 日期不会转换为日期时间

nvarchar date won't convert to date time

我似乎找不到适用于我的问题的解决方案。我试图通过一个 NVARCHAR 日期然后转换它。在尝试解决我遇到的问题时:

Conversion failed when converting date and/or time from character string.

到目前为止似乎没有任何帮助。我尝试了一些关于 google 和 SO 的建议,但我不断收到上述消息。我从 SO 尝试了 ,但这似乎也没有帮助。

   DECLARE @ConvertCancelDate DATETIME
    DECLARE @incCancelDate nvarchar
    SET @incCancelDate = '2018-07-04'

    -- need to convert the cancel date from nvarchar to datetime
    SET @ConvertCancelDate =  CONVERT(DATETIME, @incCancelDate)

问题是您没有给 @incCancelDate 一个大小,所以它假定它是一个字符串。

改变这个:

DECLARE @incCancelDate nvarchar

收件人:

DECLARE @incCancelDate nvarchar(10)

您遇到问题是因为您没有为您的@incCancelDate 变量定义长度,这意味着它是 nvarchar(1)。

要看到这个,试试这个:

DECLARE @incCancelDate NVARCHAR;
SET @incCancelDate = N'2018-07-04';
SELECT @incCancelDate;

要修复它,请执行以下操作:

DECLARE @ConvertCancelDate DATETIME;
DECLARE @incCancelDate NVARCHAR(10);
SET @incCancelDate = N'2018-07-04';

-- need to convert the cancel date from nvarchar to datetime
SET @ConvertCancelDate = CONVERT(DATETIME, @incCancelDate, 111);