我已在我的数据库中以yyyy/mm/dd格式存储StartDate
为数据类型。当我尝试将其转换为 a时,我得到了nvarchar
datetime
Arithematic Flow Error.
这是什么错误?我已经尝试了两种方法cast
,convert
但仍然抛出错误。
这是我的代码:
cast(Start_Date as datetime) &&
convert(datetime,Start_Date,103 )
我已在我的数据库中以yyyy/mm/dd格式存储StartDate
为数据类型。当我尝试将其转换为 a时,我得到了nvarchar
datetime
Arithematic Flow Error.
这是什么错误?我已经尝试了两种方法cast
,convert
但仍然抛出错误。
这是我的代码:
cast(Start_Date as datetime) &&
convert(datetime,Start_Date,103 )
103
所以dd/mm/yyyy
这会失败
declare @S varchar(10)
set @S = '2012/03/31'
select convert(datetime, @S, 103)
试试这个
select convert(datetime, replace(@S, '/', ''), 112)
如果您将DATEFORMAT 设置为 ,您的演员将失败dmy
。
set dateformat dmy
declare @S varchar(10)
set @S = '2012/03/31'
select cast(@S as datetime)
但是,如果您改用它,效果会很好ymd
。
declare @TestDateValue nvarchar(50)
set @TestDateValue = '2012/12/03'
select cast(@TestDateValue as datetime) as NewTestDateTime
您的代码应该可以工作。我刚刚在这里举了一个例子。您可以发布您要转换的字符串吗?可能与它有关。