首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

从字符串向 datetime 变换时失败

2013-02-19 
从字符串向 datetime 转换时失败。declare @SQL_update nvarchar(2048) declare @sheetno nvarchar(10)decl

从字符串向 datetime 转换时失败。
declare @SQL_update nvarchar(2048) 
declare @sheetno nvarchar(10)
declare @calltimereal datetime


set @SQL_update = 'update #t set ' + substring(@SQL_update,2,len(@SQL_update)) + ' where [维修单号]=''' + @sheetno + '''  and [回访时间] = cast ('''+ @calltimereal+''' as datetime)'

exec sp_executesql @SQL_update

抱错
从字符串向 datetime 转换时失败。

该如何转换呢? sql 字符串
[解决办法]
字符串的格式不对吧
[解决办法]
set @SQL_update = 'update #t set ' + substring(@SQL_update,2,len(@SQL_update)) + ' where [维修单号]=''' + @sheetno + '''  and [回访时间] = cast ('''+ Convert(varchar(19),@calltimereal,120)+''' as datetime)'
[解决办法]
看一下@calltimereal的真正值是什么。报错的结果显示这个值无法转换成时间类型。 
[解决办法]
首先我想问下 这个SQL(@SQL_update)成立么? 咋看着不对啊.
[解决办法]
set @SQL_update = 'update #t set ' + substring(@SQL_update,2,len(@SQL_update)) + ' where [维修单号]=''' + @sheetno + '''  and [回访时间] = cast ('''+ convert(varchar,@calltimereal,121)+''' as datetime)'

执行时不在数据匹配时转换也行,数据库会自动隐式转换
set @SQL_update = 'update #t set ' + substring(@SQL_update,2,len(@SQL_update)) + ' where [维修单号]=''' + @sheetno + '''  and [回访时间] = '''+ convert(varchar,@calltimereal,121)+''' '

热点排行