动态sql语句有关问题求大神解答
动态sql语句问题求大神解答
第6行总是报错,我想是不是跟第6行有很多‘’有关系啊?这应该怎么处理?
错误信息:

------解决思路----------------------
呃,没注意看,你的原因是,单引号在字符串里面,要用两个来表示
就是 JAVA 或 C# 里面 双引号在字符串里面要 \" 来表示一样
begin
declare @sql nvarchar(2000)
set @sql = '
select
DateName(dw,VWTIME)"WEEK"
substring(convert(varchar(20),replace(replace(replace(convert(varchar,VWTIME,20),'-',''),':',''),' ','')),5,6)+':00' "HOUR",
substring(SERVICENAME, 1,2) "VENDOR", substring(SERVICENAME, 4,3) "CATEGROY", substring(SERVICENAME, 8,50) "SERVICENAME", min(RESPONSETIME) "MINTIME", avg(RESPONSETIME) "AVGTIME", max(RESPONSETIME) "MAXTIME"
from ' + @item +
'where convert(varchar(10), VWTIME, 112) between ' + @start + ' and ' + @end + '
group by ssubstring(convert(varchar(20),replace(replace(replace(convert(varchar,VWTIME,20),'-',''),':',''),' ','')),5,6), SERVICENAME,DateName(dw,VWTIME)
Order By HOUR'
exec(@sql)
end
第6行总是报错,我想是不是跟第6行有很多‘’有关系啊?这应该怎么处理?
错误信息:
------解决思路----------------------
呃,没注意看,你的原因是,单引号在字符串里面,要用两个来表示
就是 JAVA 或 C# 里面 双引号在字符串里面要 \" 来表示一样
begin
declare @sql nvarchar(2000)
set @sql = '
select
DateName(dw,VWTIME)"WEEK"
substring(convert(varchar(20),replace(replace(replace(convert(varchar,VWTIME,20),''-'',''''),'':'',''''),'' '','''')),5,6)+'':00'' "HOUR",
substring(SERVICENAME, 1,2) "VENDOR", substring(SERVICENAME, 4,3) "CATEGROY", substring(SERVICENAME, 8,50) "SERVICENAME", min(RESPONSETIME) "MINTIME", avg(RESPONSETIME) "AVGTIME", max(RESPONSETIME) "MAXTIME"
from ' + @item +
'where convert(varchar(10), VWTIME, 112) between ' + @start + ' and ' + @end + '
group by ssubstring(convert(varchar(20),replace(replace(replace(convert(varchar,VWTIME,20),''-'',''''),'':'',''''),'' '','''')),5,6), SERVICENAME,DateName(dw,VWTIME)
Order By HOUR'
--PRINT @sql
exec(@sql)
end