如何选择除一列之外的sql中的所有列?

8 mysql sql sql-server

可能重复:
SQL使用SELECT*[除了columnA] FROM tableA排除列?

是否可以选择除一列之外的所有列?

这里是所有列名:id,name,address,age

SELECT id, name, address from TBLUser
Run Code Online (Sandbox Code Playgroud)

我不想使用这个select语句,因为我的表的列数彼此不同.

Raj*_*Raj 5

declare @cols varchar(max), @sql varchar(max)
SELECT  @cols = STUFF
    (
        ( 
            SELECT DISTINCT '], [' + name
            FROM sys.columns
            where object_id = (
                select top 1 object_id from sys.objects
                where name = 'TBLUser'
            )
            and name not in ('age')
            FOR XML PATH('')
        ), 1, 2, ''
    ) + ']'
select @sql = 'select ' + @cols + ' from TBLUser'  
exec (@sql)
Run Code Online (Sandbox Code Playgroud)

  • 太长了人..! (11认同)