I want to select every column that its name does not contain Id
This is what I have tried:
Select *
From Table_Name
Where Column_Name Like '%Id%'
What is the solution?
I want to select every column that its name does not contain Id
This is what I have tried:
Select *
From Table_Name
Where Column_Name Like '%Id%'
What is the solution?
 
    
     
    
    I think you'll want to use INFORMATION_SCHEMA for this.
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Name Of Your Table, As A String'
AND COLUMN_NAME NOT LIKE '%Id%'
 
    
    You can do it like this. Assume table as column id,value1,value2. You need to select column name having name like value.
CREATE TABLE [dbo].[tbl1](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [value1] [varchar](2) NULL,
    [value2] [varchar](4) NULL)
GO
create table  #tblcols (colname varchar(100))
insert into #tblcols
select Column_name from INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'tbl1'
delete from #tblcols where colname not like '%val%'
select * from #tblcols
declare @sql nvarchar(500)
SELECT @sql = COALESCE(@sql + ', ', ' ') +  colname FROM #tblcols
 set @sql = 'select ' + @sql + ' from tbl1'
 select @sql
 exec sp_executesql  @sql
 drop table  #tblcols
Then, using dynamic SQL create sql statement like select value1,value2 from tbl. And use EXEC SP_EXECUTESQL @SQL to get result.
 
    
    Try this:
select * from sys.columns where
name NOT like '%ID%'
or
select * from INFORMATION_SCHEMA.COLUMNS
where COLUMN_NAME NOT   like '%ID%'
