print @@servername + ' / ' + db_name()goSELECT [TABLE_CATALOG], [TABLE_SCHEMA], [TABLE_NAME], [COLUMN_NAME], [ORDINAL_POSITION], [COLUMN_DEFAULT], [IS_NULLABLE], [DATA_TYPE], [CHARACTER_MAXIMUM_LENGTH], [CHARACTER_OCTET_LENGTH], [NUMERIC_PRECISION], [NUMERIC_PRECISION_RADIX], [NUMERIC_SCALE], [DATETIME_PRECISION], [CHARACTER_SET_CATALOG], [CHARACTER_SET_SCHEMA], [CHARACTER_SET_NAME], [COLLATION_CATALOG], [COLLATION_SCHEMA], [COLLATION_NAME], [DOMAIN_CATALOG], [DOMAIN_SCHEMA], [DOMAIN_NAME] FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE [column_name] like '% %'ORDER BY [TABLE_CATALOG], [TABLE_SCHEMA], [TABLE_NAME], [COLUMN_NAME]
Jul 13
create table #temptest ([some col] int, [some othercol] int)select * from #temptestdeclare @tbl nvarchar(255)select @tbl = '#temptest'declare @sql nvarchar(max)select @sql = coalesce(@sql, '' ) + ' exec sp_rename ''[' + @tbl + '].[' + syscolumns.name + ']'', ''' + replace(syscolumns.name,' ','') + ''''from sysobjects, syscolumnswhere sysobjects.id = syscolumns.id and sysobjects.id = object_id('[' + @tbl + ']') and syscolumns.name like '% %' print @sqlexec (@sql)select * from #temptestdrop table #temptest
declare @sql varchar(8000select @sql = 'update YourTableName set' --char(10) gives a line break and simply makes it easier to read when proof readingselect @sql = @sql + column_name + ' = replace(' + column_name + ', '' '', ''''), ' + char(10)from infromation_schema.columnswhere table_name = YourTableName--Remove the final commaselect @sql = substring(@sql, 1, len(@sql) -1)--Preview the code this generates firstprint @sql-- exec @sql --remove the comment marks and let it run the code only after previewing it once