我的表中有很多列,比如20-30。我想选择除3-4列以外的所有列。有没有办法到SELECT * EVERYTHING BUT COLUMNS (Address,Name etc...) FROM MyTable
如果没有,那么这样的功能会有用吗?
答案 0 :(得分:2)
- 只需更改表名并将NOT IN列添加
DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT N',' + QUOTENAME(c.name)
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE t.name = 'tagCloudLibrary'
and c.name not in ('langID')
FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'')
set @query = N'SELECT ' + @cols + N' from tagCloudLibrary'
execute sp_executesql @query;
答案 1 :(得分:2)
在SSMS中,打开对象资源管理器,右键单击表格 - > “脚本表为” - > “选择到” - > “新查询编辑器窗口”
删除不需要的列并运行查询。它会为您完成所有打字。
答案 2 :(得分:1)
最好只在该表上创建一个VIEW,而不包含您不想看到的列。然后你可以从VIEW中选择SELECT。