@sql 中的 @datetime 问题
declare @time datetime
declare @sql varchar(1000)
set @time = getdate()
set @sql = 'select * form x where inserttme= '+@time+ ' '
Print @sql
消息 241,级别 16,状态 1,第 4 行
从字符串向 datetime 转换时失败。
如何解决?
------解决方案--------------------declare @time datetime
declare @sql varchar(1000)
set @time = getdate()
set @sql = 'select * form x where inserttme= ' ' '+convert(varchar(20),@time,120)+ ' ' ' '
Print @sql
------解决方案--------------------1、日期变量连接到动态SQL串时需要先转换为字符型
2、日期两侧需要加单引号,动态SQL中一个单引号需要用两个表示