Skip to content

Instantly share code, notes, and snippets.

@mlongoria
Created August 6, 2016 18:18
Show Gist options
  • Save mlongoria/803fcd0154060afa905ef8627457017c to your computer and use it in GitHub Desktop.
Save mlongoria/803fcd0154060afa905ef8627457017c to your computer and use it in GitHub Desktop.
Dynamically creates a select query for all fields in a table that replaces line breaks in string fields with 4 spaces
--Change @Tablename on Line3 and run for each table
DECLARE @TableName varchar(100);
Set @TableName = 'Goods'
DECLARE @ColumnList NVARCHAR(MAX);
SET @ColumnList ='';
Declare @sqlselect nvarchar(max);
SELECT @ColumnList = @ColumnList + ', ' +
CASE WHEN data_type in ('char','varchar','nchar','nvarchar') THEN 'REPLACE(REPLACE('+ CAST(COLUMN_NAME AS VARCHAR(128)) +', CHAR(13), char(32) + char(32) + char(32) + char(32)), CHAR(10), char(32) + char(32) + char(32) + char(32))' + CAST(COLUMN_NAME AS VARCHAR(128))
WHEN data_type in ('text','ntext') THEN 'REPLACE(REPLACE(Cast([' + CAST(COLUMN_NAME AS VARCHAR(128)) + '] as varchar(8000)), CHAR(13), char(32) + char(32) + char(32) + char(32)), CHAR(10), char(32) + char(32) + char(32) + char(32)) ' + CAST(COLUMN_NAME AS VARCHAR(128))
ELSE CAST(COLUMN_NAME AS VARCHAR(128)) END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
ORDER BY ORDINAL_POSITION
IF LEN(@ColumnList) > 0
SET @ColumnList = STUFF(@ColumnList,1,1,'')
Select @sqlselect = 'Select ' + @ColumnList + ' FROM ' + @TableName +';'
select @sqlselect
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment