SQL query for a carriage return in a string and ultimately removing carriage return

后端 未结 10 1534
-上瘾入骨i
-上瘾入骨i 2020-12-04 17:37

SQL query for a carriage return in a string and ultimately removing carriage return

I have some data in a table and there are some carriage returns in places where I

10条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-04 18:17

    If you are considering creating a function, try this: DECLARE @schema sysname = 'dbo' , @tablename sysname = 'mvtEST' , @cmd NVarchar(2000) , @ColName sysname

        DECLARE @NewLine Table
        (ColumnName Varchar(100)
        ,Location Int
        ,ColumnValue Varchar(8000)
        )
    
        SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_SCHEMA = @schema AND TABLE_NAME =  @tablename AND DATA_TYPE LIKE '%CHAR%'
    
        DECLARE looper CURSOR FAST_FORWARD for
        SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @schema AND TABLE_NAME =  @tablename AND DATA_TYPE LIKE '%CHAR%'
        OPEN looper
        FETCH NEXT FROM looper INTO @ColName
    
        WHILE @@fetch_status = 0
        BEGIN
        SELECT @cmd = 'select ''' +@ColName+    ''',  CHARINDEX(Char(10),  '+  @ColName +') , '+ @ColName + ' from '+@schema + '.'+@tablename +' where CHARINDEX(Char(10),  '+  @ColName +' ) > 0 or CHARINDEX(CHAR(13), '+@ColName +') > 0'
        PRINT @cmd
        INSERT @NewLine ( ColumnName, Location, ColumnValue )
        EXEC sp_executesql @cmd
        FETCH NEXT FROM looper INTO @ColName
        end
        CLOSE looper
        DEALLOCATE looper
    
    
        SELECT * FROM  @NewLine
    

提交回复
热议问题