怎么将nvarchar型的日期转换成datetime
如何将nvarchar型的日期转换成datetime?
原来的日期类型为nvarchar
里面的数据都是这样的
应该如何将他转换为datetime类型的呢?
好像mssql的不支持0000-00-00这种样子的啊
------解决方案--------------------
原来的日期类型为nvarchar
里面的数据都是这样的
应该如何将他转换为datetime类型的呢?
好像mssql的不支持0000-00-00这种样子的啊
------解决方案--------------------
- SQL code
--不是不支持,是最早的日期好像是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下作的测试
- SQL code
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 时出现算术溢出错误。 */