Как проверить мои данные в SQL Server с возвратом каретки и фидом строк?

Перед проблемой, похоже, мои данные, хранящиеся в SQL Server, не хранятся правильно, просто поставили, как проверить, что данные varchar имеют возврат каретки и фид в нем? Я пытаюсь распечатать их, не показывая специальные символы. Благодаря

Ответ 1

Вы можете использовать функции SQL Server char(n) и contains() для соответствия содержимому поля в предложении WHERE.

carriage return: char(13)
line feed:       char(10)

Следующий SQL найдет все строки в some_table, где значения some_field содержат символы новой строки и/или возврата каретки:

SELECT * FROM some_table 
WHERE CONTAINS(some_field, char(13)) OR CONTAINS(some_field, char(10)) 

Чтобы удалить возврат каретки в значениях some_field, вы можете использовать функцию replace() long с char() и contains(). SQL выглядел бы примерно так:

UPDATE some_table 
SET some_field = REPLACE(some_field, char(13), '')
WHERE CONTAINS(some_field, char(13))

Чтобы удалить новые строки, вы можете следить за последним оператором с помощью версии char (10) этого обновления. Как вы все это делаете, зависит от того, какие типы новых строк содержат ваш текст. Но в зависимости от того, где текст был вставлен/вставлен из новых строк, может быть \r\n или\n, поэтому запуск обновлений с обоими символами \r и\n будет более безопасным, чем при условии, что вы получаете одну версию новой строки или другой.

Обратите внимание, что если новые строки были удалены, и вы хотите их сохранить, вам необходимо исправить проблему в точке входа. Вы не можете заменить или исправить то, что было удалено, чтобы сохранить исходные текстовые данные в новом столбце, который содержит исходный, немодифицированный текст.

Ответ 2

Чтобы добавить к тому, что сказали другие; когда мне нужно встроить новые строки в T-SQL, я обычно делаю:

DECLARE @nl CHAR(2) = CHAR(13) + CHAR(10);

.. затем используйте @nl по мере необходимости. Конечно, для строк строк Windows.

Ответ 3

Взгляните на функцию Char. См. MSDN. Это поможет найти специальные символы.