我想使用动态SQL中声明的动态变量
我希望输出为我想使用动态SQL中声明的动态变量,sql,sql-server,Sql,Sql Server,我希望输出为ms1 declare @sql as nvarchar(500)='' set @sql=' declare @N4 as int = 1 declare @ms as nvarchar(100) = concat(''ms'', convert(nvarchar(10), @N4)) select @ms ' exec @sql 将@SQL声明为NVARCHAR(500)=” SET@sql='1!' while(@i使用while语句和
ms1
declare @sql as nvarchar(500)=''
set @sql='
declare @N4 as int = 1
declare @ms as nvarchar(100) = concat(''ms'', convert(nvarchar(10), @N4))
select @ms
'
exec @sql
将@SQL声明为NVARCHAR(500)=”
SET@sql='1!'
while(@i使用while语句和字符串连接来获得结果:
声明@StartValue INT=1
声明@EndValue INT=10
声明@Query VARCHAR(500)=”
而@StartValue<@EndValue
开始
设置@Query=@Query+'sms_u3;'+CAST(@StartValue作为VARCHAR)+','
设置@StartValue=@StartValue+1
结束
选择查询
使用While语句和字符串连接来获得结果:
声明@StartValue INT=1
声明@EndValue INT=10
声明@Query VARCHAR(500)=”
而@StartValue<@EndValue
开始
设置@Query=@Query+'sms_u3;'+CAST(@StartValue作为VARCHAR)+','
设置@StartValue=@StartValue+1
结束
选择查询
使用支持输出参数的sp_executesql
Use While statement and string concatenation to get your result :
DECLARE @StartValue INT = 1
DECLARE @EndValue INT = 10
DECLARE @Query VARCHAR(500) = ''
WHILE @StartValue < @EndValue
BEGIN
SET @Query = @Query + 'sms_' + CAST(@StartValue AS VARCHAR) + ','
SET @StartValue = @StartValue + 1
END
SELECT Query
使用支持输出参数的sp_executesql
Use While statement and string concatenation to get your result :
DECLARE @StartValue INT = 1
DECLARE @EndValue INT = 10
DECLARE @Query VARCHAR(500) = ''
WHILE @StartValue < @EndValue
BEGIN
SET @Query = @Query + 'sms_' + CAST(@StartValue AS VARCHAR) + ','
SET @StartValue = @StartValue + 1
END
SELECT Query
是的,您可以使用,为此您需要像这样使用
sp\u executesql
-
DECLARE @MS VARCHAR(50)
exec sp_executesql N'declare @N4 as int = 1;
SELECT @MS= concat(''ms'', convert(nvarchar(10), @N4))',
N'@MS VARCHAR(50) output', @MS output;
SELECT @MS
是的,您可以使用,为此您需要像这样使用
sp\u executesql
-
DECLARE @MS VARCHAR(50)
exec sp_executesql N'declare @N4 as int = 1;
SELECT @MS= concat(''ms'', convert(nvarchar(10), @N4))',
N'@MS VARCHAR(50) output', @MS output;
SELECT @MS
您使用的是哪种dbms?(该代码是特定于产品的。)Sql Server 2014Post您现在的预期输出应该是ms1i。我必须在动态Sql中声明变量,仅限您使用的dbms?(该代码是特定于产品的。)Sql Server 2014 Post您现在的预期输出应为MS1我必须仅在动态Sql中声明变量如何定义开始值和结束值..?您知道我是否需要使用动态变量中的变量。正如我的问题中所述,您如何定义开始值和结束值..?您知道我是否需要使用动态变量中的变量。就像我的问题一样谢谢你的帮助谢谢你的帮助