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

Откуда:
Сообщений: 40
Всем привет!
В запросе обрабатываю строку, сгенерированную в приложении. Она в формате html.
Пример: </FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: 'times new roman'; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:
При обработке строки мешают одинарные кавычки 'times new roman'. Подскажите, пожалуйста, как можно заменить их на двойные(или какие-нибудь другие символы), чтобы строка стала "правильной"?
26 мар 14, 10:07    [15787405]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
set @a = '</FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: ''times new roman''; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:'
26 мар 14, 10:09    [15787412]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
Я не могу знать , будут они там или нет и будут ли в такой же последовательности 'times new roman'. Строки выбираются в курсоре и там же обрабатываются.
26 мар 14, 10:15    [15787438]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
last_man
Строки выбираются в курсоре и там же обрабатываются.

Если кавычки уже занесены в таблицу, то кому они мешают то ???
26 мар 14, 10:18    [15787449]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
Видимо, только мне. Т.к. мне нужно получить из html исходный текст. В цикле обрабатываю строку и выбираю все, что между > и <. Из-за появления одинарной кавычки получаю ощибку.
26 мар 14, 10:23    [15787484]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
last_man
Т.к. мне нужно получить из html исходный текст.

В таблице и так исходный текст. Т.е. тот текст, который вы туда занесли
Экранирующие кавычки нужны только при компиляции, в значение они не попадают

declare @t table(f1 varchar(1000))
insert @t values( '</FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: ''times new roman''; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:')
select * from @t
26 мар 14, 10:27    [15787505]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
исходный текст- текст, введенный пользователем, без тегов. Типа обратного преобразования. Т.к. в бд он записывается уже преобразованным
26 мар 14, 10:39    [15787588]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
last_man
исходный текст- текст, введенный пользователем, без тегов.

И причем тут кавычки тогда ?
26 мар 14, 10:40    [15787602]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
CODE COL1 COL2
00	NULL	</FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: 'times new roman'; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:
01	NULL	11pt"></SPAN>на   основании<SPAN style="COLOR: rgb(255,102,0)">&nbsp;</SPAN>п<SPAN>риказов Минфина   России от 01 декабря 2010 г.&nbsp;157 Н</SPAN><B>&nbsp;</B>
[src][/SRC]
Данные лежат в таблице примерно так(скрипт не привожу, т.к. он все равно не отработает).
Я выбираю в курсор эти строки и вырезаю то, что находится между > и <(как уже говорилось выше).
26 мар 14, 11:06    [15787780]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
last_man
Я выбираю в курсор эти строки и вырезаю то, что находится между > и <(как уже говорилось выше).

И что не так с кавычками то ?
26 мар 14, 11:07    [15787784]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
все так, проблема была в другом. Не обновилась функция. При обработке строк sql server сам оборачивает строку с кавычками
26 мар 14, 11:25    [15787920]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
dma_caviar
Member

Откуда: https://itproduct.ru
Сообщений: 2361
Лучше напишите какую ошибку ловите.
26 мар 14, 11:27    [15787932]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
last_man
При обработке строк sql server сам оборачивает строку с кавычками

И как интересно выглядит это "сам"?
26 мар 14, 11:28    [15787945]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8570
Как сервер может что-то оборачивать? Ничем он таким не занимается без Вашего участия.
26 мар 14, 11:32    [15787970]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
Glory,
ну он же не ругается на строку с одинарными кавычками в запросе.
а если я напишу select '</FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: 'times new roman'; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:'/ Это будет ошибка.

dma_caviar, ошибка была связана с некорректными аргументами substring
26 мар 14, 11:46    [15788114]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
dma_caviar
Member

Откуда: https://itproduct.ru
Сообщений: 2361
last_man
Glory,
ну он же не ругается на строку с одинарными кавычками в запросе.
а если я напишу select '</FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: 'times new roman'; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:'/ Это будет ошибка.

dma_caviar, ошибка была связана с некорректными аргументами substring

Пишите как вам предложили выше
 ''times new roman''


тогда не будет ошибки
26 мар 14, 11:48    [15788132]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
last_man
Member

Откуда:
Сообщений: 40
спасибо
26 мар 14, 11:51    [15788150]     Ответить | Цитировать Сообщить модератору
 Re: одинарные кавычки в строке  [new]
Glory
Member

Откуда:
Сообщений: 104751
last_man
ну он же не ругается на строку с одинарными кавычками в запросе.
а если я напишу select '</FONT><BR><SPAN style="FONT-SIZE: small; FONT-FAMILY: 'times new roman'; COLOR: rgb(0,0,0)"><SPAN style="FONT-SIZE:'/ Это будет ошибка.

Разумеется
Потому что есть разница между уже _занесенные_ данные и присвоением новых значений

last_man
ошибка была связана с некорректными аргументами substring

И поэтому виноваты одинарные кавычки ?
26 мар 14, 11:53    [15788166]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить