所以我有这个声明:
select @sqlStmt = 'SELECT replace(replace(substring(base_object_name,1,CHARINDEX(''.'',base_object_name) - 1),''['',''''),'']'','''')
FROM sys.synonyms
WHERE name = ''S_LC'''
我想知道是否有办法使用该语句的结果,例如连接到另一个字符串?
我正在使用 SQL Server 2008
所以我有这个声明:
select @sqlStmt = 'SELECT replace(replace(substring(base_object_name,1,CHARINDEX(''.'',base_object_name) - 1),''['',''''),'']'','''')
FROM sys.synonyms
WHERE name = ''S_LC'''
我想知道是否有办法使用该语句的结果,例如连接到另一个字符串?
我正在使用 SQL Server 2008
如果要执行 sql 语句并将结果连接到另一个 sql 变量,可以这样做
DECLARE @anotherString VARCHAR(10)
EXEC sp_executeSQL
'SELECT @output = replace(replace(substring(base_object_name,1,CHARINDEX(''.'',base_object_name) - 1),''['',''''),'']'','''')
FROM sys.synonyms WHERE name = ''S_LC''', N'@output VARCHAR(10) OUTPUT', @output= @anotherString OUTPUT;
现在@anotherString 已准备好与任何其他字符串连接。
请注意,我没有编译你的 sql 查询。
如果你执行它并且不仅将它存储在你的变量中,是的:
DECLARE @objName NVARCHAR(255)
SELECT @objName = REPLACE(
REPLACE(
SUBSTRING(base_object_name,1,
CHARINDEX('.',base_object_name) - 1),
'[',''),
']','')
FROM sys.synonyms
WHERE name = 'S_LC'