Переход в одинарную кавычку в функцию REPLACE выдает ошибку. Как мне этого добиться? - PullRequest
0 голосов
/ 05 января 2011

Столбец с именем: Тело в таблице типа данных - Текст
Пример данных содержит HTML-теги и гиперссылки.Гиперссылки используют одинарную кавычку.

Когда я пытаюсь заменить одинарную кавычку на двойную кавычку с помощью функции T-SQL, приведенной ниже:

REPLACE(Body, '''', '"') 

выдает ошибку, указанную ниже:->

Недопустимый текст типа данных аргумента для аргумента 1 функции замены.

Вопрос: Можете ли вы сказать мне, как я могу передать столбец в формате HTML в T-SQL, содержащий одинарные кавычки вгиперссылки в функцию REPLACE?

Это сработало: выберите REPLACE (CAST (Body as varchar (max)), '' '', '"') как Bdy FROM TABLE

Я пытался написатьфункция (код приведен ниже):

DECLARE @Temp VARCHAR(MAX)   
Set @Temp = THIS CONTAINS THE HTML FORMATTED TEXT WITH HYPERLINK IN SINGLE QUOTE'; 
Set @Temp = REPLACE(@Temp , '''', '"')   
Select @Temp;

И функция не работает, указывая

Incorrect syntax near '/'.

1 Ответ

0 голосов
/ 05 января 2011

Редактировать на основе вашего комментария: вы пытались привести text к varchar?Например:

REPLACE(cast(Body as varchar(max)), '''', '"')

Старый ответ: в SQL одна кавычка экранируется другой кавычкой.Так что вы должны сделать:

REPLACE(Body, '''', '"')

Это четыре одинарные кавычки, запятая, одинарная кавычка, двойная кавычка, одинарная кавычка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...