Created
August 6, 2016 18:18
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--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