Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как заменить в таблице символ ' ???  [new]
sergeychm
Member

Откуда:
Сообщений: 21
Добрый день!
база на 2008
Есть таблица, содержащей столбец с данными (nvarchar(255))
С помощбю SQL-запроса необходимо заменить в "столбец1" кавычку ' на "

UPDATE таблица1 SET столбец1=REPLACE (столбец1, "'", '"')

Тест запроса проходит, на при запуске на исполнение выдаёт ошибку... Что не так?
Заранее спасибо!
26 апр 10, 08:26    [8687251]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5503
Блог
sergeychm
Тест запроса проходит, на при запуске на исполнение выдаёт ошибку... Что не так?
Заранее спасибо!
А Вы внимательно на запрос посмотрите - почему апостроф заключен в двойные кавычки, а при замене стррока ограничена апострофами?

В текстовых константах единичный апостроф заменяется на двойной.
26 апр 10, 08:50    [8687284]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
sergeychm
Member

Откуда:
Сообщений: 21
DeColo®es
А Вы внимательно на запрос посмотрите - почему апостроф заключен в двойные кавычки, а при замене стррока ограничена апострофами?

В текстовых константах единичный апостроф заменяется на двойной.


В какие тогда ковычки мне нужно заключить ' ??? Нельзя же написать ' ' '.
Читал что можно указывать спец-символы как "символы" если перед ними поставить \ Но не работает...
Мне нужно заменить апостроф на двойные кавычки...
26 апр 10, 11:39    [8688227]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
Glory
Member

Откуда:
Сообщений: 104751
sergeychm


В какие тогда ковычки мне нужно заключить ' ??? Нельзя же написать ' ' '.

Можно, если следовать простому правилу
Каждая одинарная кавычка внутри одинарных кавычек должна быть удвоена
26 апр 10, 11:41    [8688250]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Написано же, что удваивать надо апостроф. Поэтому надо писать
select ''''
26 апр 10, 11:42    [8688264]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
_djХомяГ
Guest
declare 
@str varchar(max)
set @str='О'' счастиливчег'
select replace(@str,'''','"')
26 апр 10, 11:45    [8688295]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
sergeychm
Member

Откуда:
Сообщений: 21
Всем спасибо!!!

С первого раза не понял что двойные это два раза :)
26 апр 10, 12:18    [8688566]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
sergeychm
Member

Откуда:
Сообщений: 21
Снова хочу обратиться к великим гуру с поклонением и прошением!

Как заменить/удалить проценты из столбца с текстом:
' %%%Text '
Тип поля: nvarchar(250)

Программное обеспечение при вливании данных в базу не отбрасывает ненужных символов, приходится ручками править за юзверами...
двойное написание процентов не проходит...
Заранее спасибо!
7 май 10, 12:18    [8741243]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
Glory
Member

Откуда:
Сообщений: 104751
sergeychm

двойное написание процентов не проходит...

А зачем их удваивать ???
Удвоение касалось только одинарных кавычек
7 май 10, 12:21    [8741280]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
sergeychm
Member

Откуда:
Сообщений: 21
Glory

Потому что не знаю как удалить "%%%" из полей таблицы...(по аналогии решил попробовать - неполучилось). Вот и прошу помощи
11 май 10, 08:13    [8751529]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
Supra93
Member

Откуда:
Сообщений: 8174
sergeychm
Glory

Потому что не знаю как удалить "%%%" из полей таблицы...(по аналогии решил попробовать - неполучилось). Вот и прошу помощи

select replace(@str,'%','')
11 май 10, 08:35    [8751574]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
Supra93
Member

Откуда:
Сообщений: 8174
Supra93

select replace(@str,'%','')

эмм...
select replace('%%%Text ','%','')
11 май 10, 08:38    [8751585]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
sergeychm
Снова хочу обратиться к великим гуру с поклонением и прошением!

Как заменить/удалить проценты из столбца с текстом:
' %%%Text '
Тип поля: nvarchar(250)

Программное обеспечение при вливании данных в базу не отбрасывает ненужных символов, приходится ручками править за юзверами...
двойное написание процентов не проходит...
Заранее спасибо!


Я думаю проблема не с заменой, а как их найти
11 май 10, 11:08    [8752349]     Ответить | Цитировать Сообщить модератору
 Re: Как заменить в таблице символ ' ???  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
Using Wildcard Characters as Literals
You can use the wildcard pattern matching characters as literal characters. To use a wildcard character as a literal character, enclose the wildcard character in brackets. The table shows several examples of using the LIKE keyword and the [ ] wildcard characters.

Symbol Meaning
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d and abc_de
LIKE 'abc[def]' abcd, abce, and abcf

Вот что сказано по этому делу в Боле
11 май 10, 11:09    [8752359]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить