set @sqlstr='insert into tab(cNum,cDate) values(' +@cNum +','+@cDate+')'
exec(@sql)出错
其中@cNum int,@cDate datetime
exec(@sql)出错
其中@cNum int,@cDate datetime
解决方案 »
- 有关存储过程
- 一个表中不同字段,不同查询条件,显示一条纪录
- 一个查询问题。
- 请问谁有 sql 2000支持分组的分页存储过程
- 这个语句该怎么写?看起来这么简单就是不会写???
- 帮帮小妹吧(Excel)
- 比较棘手的问题 急用 !在线等
- sos!!! 在SQL Server的脚本里, 如何用OpenDataSource把excel文件import to database?????????? 高分请各位高手Help!!!!!!!!!!!!!!!!!!
- 如何使两台SQL SERVER数据库数据时实保持一致
- 怎样提取数据库中不同表中各种日期错误的行? 急!
- Left Join问题
- 一个100分的查询!!!!!!!!!!!!!!
exec(@sql)
exec(@sql)
exec(字符串) 類型不需要裝換
exec(@SQL)
@SQL類型要匹配,所以先要轉換
declare @cNum int,@cDate datetime,@sqlstr varchar(5000)
set @cNum = 2
set @cDate = '20091210'
set @sqlstr='insert into tab(cNum,cDate) values(' +cast(@cNum as varchar(100)) +','''
+convert(varchar(10),@cDate,120)+''')'
print(@sqlstr)insert into tab(cNum,cDate) values(2,'2009-12-10')--exec(@sql)
exec(@sql)
用这两行代码试试看.因为日期类型的,在往数据库送时,应当以字符串的形式送进去.SQL会自动转换成日期时间类型的.
exec(@sql)
insert into capture(cNum,cDate,sqlstr) select cNum,cDate,@sqlstr from inserted
exec(select sqlstr from capture)tab 表中的cDate 与sqlstr字符中的时间不相符,为什么呢?
--tab 表中的cDate 与sqlstr字符中的时间不相符,为什么呢? 通过转换后
convert(varchar(10),cDate,120) 截取了,时分秒,
convert(varchar(20),cDate,120) 这样就全了不知道,是说的这个么?