这可能是一个奇怪的问题。
我有一个包含 100 多列的表。我想 SELECT *
所有列并获取结果查询,列按字母顺序排列。
在 T-SQL 中可以吗?
谢谢
最佳答案
您可以使用系统目录 View 中的可用信息构建动态 SQL 语句。
下面的示例代码展示了如何:
DECLARE @sql AS NVARCHAR(MAX)
DECLARE @cols AS NVARCHAR(MAX)
DECLARE @tbl NVARCHAR(MAX) = N'your_table' -- this is your source table
SELECT @cols= ISNULL(@cols + ',','') + QUOTENAME(c.name)
FROM sys.tables t
join sys.columns c ON c.object_id = t.object_id
WHERE t.name = @tbl
ORDER BY c.name
SET @sql = N'SELECT ' + @cols + ' FROM ' + @tbl
EXEC sp_executesql @sql
关于sql-server - 如何选择 * 并按字母顺序获取所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37816250/