日期:2014-05-17 浏览次数:20848 次
--不是不支持,是最早的日期好像是197几年 declare @x varchar(10); select @x='0000-00-00' select convert(datetime,case when @x='0000-00-00' then null else @x end);
------解决方案--------------------
SQL SERVER 2005下作的测试
declare @dt varchar(20)
set @dt='0000-00-00'
select convert(datetime,@dt)
/*
Msg 242, Level 16, State 3, Line 3
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
*/
declare @dt nvarchar(20)
set @dt='0000-00-00'
select convert(datetime,@dt)
/*
Msg 8115, Level 16, State 2, Line 3
将 expression 转换为数据类型 datetime 时出现算术溢出错误。
*/