我似乎找不到适合我问题的解决方案。我试图通过一个NVARCHAR日期,然后将其转换。当尝试解决我遇到的问题时,我会得到:
从字符串转换日期和/或时间时转换失败。
到目前为止,似乎没有任何帮助。我尝试过围绕google和SO的一些建议,但我不断收到上述消息。我从SO尝试过this suggestion,但似乎也无济于事。
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)
答案 0 :(得分:2)
问题是您没有给@incCancelDate
设置大小,因此它假定其为单个字符串。
更改此:
DECLARE @incCancelDate nvarchar
收件人:
DECLARE @incCancelDate nvarchar(10)
答案 1 :(得分:1)
您遇到了问题,因为您没有为@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);