日期:2014-05-18  浏览次数:20611 次

@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中一个单引号需要用两个表示