Я хочу найти в таблице все записи со специальными символами - char (11), char (7) и т. Д.
Я нашел одну хранимую процедуру, которая помогает мне ее найти.Но он не принимает входные параметры следующим образом:
EXEC sp_FindStringInTable '%'+char(7)+'%', 'CPOA-TALENTLink-Test-Leeds', 'TALENT_Contact_ChangeLog'
Ошибка :
Сообщение 102, уровень 15, состояние 1, строка 1
Неверный синтаксис рядом с '+'.
Хранимая процедура:
CREATE PROCEDURE dbo.sp_FindStringInTable
@stringToFind NVARCHAR(100),
@schema SYSNAME,
@table SYSNAME
AS
BEGIN TRY
DECLARE @sqlCommand VARCHAR(MAX) = 'SELECT * FROM [' + @schema + '].[' + @table + '] WHERE '
SELECT @sqlCommand = @sqlCommand + '[' + COLUMN_NAME + '] LIKE ''' + @stringToFind + ''' OR '
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @schema
AND TABLE_NAME = @table
AND DATA_TYPE IN ('char','nchar','ntext','nvarchar','text','varchar')
SET @sqlCommand = LEFT(@sqlCommand, LEN(@sqlCommand) - 3)
EXEC (@sqlCommand)
PRINT @sqlCommand
END TRY
BEGIN CATCH
PRINT 'There was an error. Check to make sure object exists.'
PRINT error_message()
END CATCH
Как уже упоминалось, я не могу найти в таблице специальные символы.