如何在 T-SQL 函数中为所有列名添加前缀? [英] How can I prefix all column names in a T-SQL function?
本文介绍了如何在 T-SQL 函数中为所有列名添加前缀?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含 2 列 C1 和 C2 的表 T
I have a table T with 2 columns C1 and C2
我想要一个返回 T 但在所有列名前加上PREFIX_"前缀的函数.
I want a function that returns T but after prefixing all column names with "PREFIX_".
前缀是传递给函数的动态字符串.
The prefix is a dynamic string passed to the function.
有可能吗?
我想要类似的东西
SELECT C1 AS @prefix + 'C1',
C2 AS @prefix + 'C2'
FROM T
推荐答案
即使您不知道列也可以这样做.
This will do it even when you don't know the columns already.
declare @prefix varchar(20)
declare @sqltext nvarchar(500)
set @prefix = 'prefix_'
declare @columnnames varchar(500)
select @columnnames = coalesce(@columnnames, '')+',' +column_name + ' '+ @prefix+column_name
from INFORMATION_SCHEMA.COLUMNS a where table_name = 't' and table_schema = 'dbo'
set @sqltext = 'select '+stuff(@columnnames,1,1,char(0))+' from t'
exec(@sqltext)
这篇关于如何在 T-SQL 函数中为所有列名添加前缀?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文