Функция ЗАМЕНА не работает в пользовательской функции - PullRequest
0 голосов
/ 16 мая 2019

Функция TSQL REPLACE работает в анализаторе запросов, но ничего не делает внутри пользовательской функции.

Проверено COLLATION: SQL_Latin1_General_CP1_CI_AS для базы данных и столбца.Выбрал поле из запроса и поместил его в шестнадцатеричный редактор, и, конечно же, это куча пробелов ascii, x'20 '.

WORKS:

declare  @HTMLText varchar(MAX) = '   Normal      Wi-Fi Enabled – Does the bus provide a Wi-Fi enabled connection?'

WHILE (@HTMLText like '%  %') 
   BEGIN
      set @HTMLText = REPLACE(@HTMLText, '  ', ' ')
   END

Я ожидаювсе двойные пробелы будут выдавлены из результирующей строки.Но это не так.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Я немного прибрался, добавив set @HTMLText = REPLACE (@HTMLText, 0x0D, '') set @HTMLText = REPLACE (@HTMLText, 0x0A, '') к моей функции.

Я бы не увидел странных данных, если бы Алекс не указал мне направление просмотра данных в двоичном виде. Было отмечено, что это chr (13) и chr (10), с которыми я более знаком. DOH.

Спасибо всем, кто нашел время.

0 голосов
/ 16 мая 2019

Вы написали двойной пробел, я думаю.Следующий код работает

declare  @HTMLText varchar(MAX) = '   Normal      Wi-Fi Enabled – Does the bus provide a Wi-Fi enabled connection?'

   set @HTMLText = REPLACE(@HTMLText, ' ', '')
   SELECT @HTMLText
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...