今天遇到的exeSql问题

1 declare @sql nvarchar(50)
2 declare @guid bigint
3 set @Guid=10000002
4 
5 --下面的一句会有报错
6 --select @sql=N'print '+@guid
7 --应该这样写
8 select @sql=N'print '+convert(varchar(10),@guid)
9 exec (@sql);
1 declare @RunDate nvarchar(50)
2 set @RunDate='2012-05-01'
3 declare @sql nvarchar(50)
4 --下面的一句会出错
5 --select @sql=N'print '+convert(varchar(10),@RunDate)
6 --应该这样写
7 select @sql=N'print '''+convert(nvarchar(50),@RunDate)+''''
8 exec (@sql);

高手看看这个是为什么呢

原文地址:https://www.cnblogs.com/lzhp/p/2605410.html