日期:2014-05-17 浏览次数:20714 次
--不是不支持,是最早的日期好像是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 时出现算术溢出错误。 */