![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
экранирование символов [D7, MSSQL]
sten © (2004-09-24 15:57:00)Здрасьте всем
Надо программным образом добавить текстовое значение, содержащее знак ' (кавычка). Как его экранировать, а то MS SQL воспринимает его как начало текста.
Anatoly Podgoretsky (2004-09-24 17:34:00) [1]sten (24.09.04 17:16) [19]
Мы вывод сделали правильный, а вот ты сделал неверный насчет телепатии.
Johnmen (2004-09-24 17:21:00) [2]>sten (24.09.04 17:16) [19]
>я имел ввиду экранирование кавычки не внутри строки, а как
>отдельный символ. Выходит, я не точно сформулировал вопрос, а
>Вы сделали неправильный вывод, что именно я хочу
Просто мы ещё не в полной мере развили в себе телепатические способности...:)
Sandman25 (2004-09-24 17:18:00) [3]внутри строки, а как отдельный символ
Не совсем. Вам нужна была строка из одной кавычки.
sten (2004-09-24 17:16:00) [4]Понятно, не знаю, кто здесь невнимательно читает вопросы/ответы, но все-таки выходит что 4 кавычки нужны, ведь я имел ввиду экранирование кавычки не внутри строки, а как отдельный символ. Выходит, я не точно сформулировал вопрос, а Вы сделали неправильный вывод, что именно я хочу
спасибо всем
Johnmen (2004-09-24 17:04:00) [5]>sten (24.09.04 16:59) [15]
Ты просто тормозишь. Или невнимательно/невдумчиво читаешь ответы...
:)
Sandman25 (2004-09-24 17:02:00) [6]set @v = 'тест на кавычку '''
sniknik (2004-09-24 17:02:00) [7]> так что даже и не знаю, в Мюллера верить или в кого еще
в меня верь ;о))
ну прямо точно угадал... [14]
проверь так
set @v = 'тест на кавычку '' '
sten (2004-09-24 16:59:00) [8]вот триггер
//////////////////////////////////////////////////
CREATE TRIGGER [testtrigger] ON [dbo].[tab]
FOR INSERT
AS
declare @v varchar(50)
set @v = 'тест на кавычку '+ ''
insert into replica.dbo.table1 values(@v)
//////////////////////////////////////////////////
результат:
тест на кавычку
а если
//////////////////////////////////////////////////
CREATE TRIGGER [testtrigger] ON [dbo].[tab]
FOR INSERT
AS
declare @v varchar(50)
set @v = 'тест на кавычку '+ ''''
insert into replica.dbo.table1 values(@v)
//////////////////////////////////////////////////
то
тест на кавычку '
так что даже и не знаю, в Мюллера верить или в кого еще
sniknik (2004-09-24 16:55:00) [9]> 'I am D''Artanyan' - кавычка обозначается двумя кавычками, а не четырьмя.
частный случай
'I am D'#39'Artanyan'
> нет, именно 4 кавычки, не верите - можете проверить
ты просто строку с символом путаеш, в строке символ задается двумя, ну а еще две с краю это ограничители самой строки.
в MSSQL(в запросе) можно и так Char(39) написать, это символ кавычки.
Johnmen (2004-09-24 16:46:00) [10]>Anatoly Podgoretsky © (24.09.04 16:41) [12]
Да ! Как то я про него забыл...:)))
Anatoly Podgoretsky (2004-09-24 16:41:00) [11]Ну еще Мюллеру
Johnmen (2004-09-24 16:40:00) [12]>sten
Верить можно в Бога.
А про кавычки можно только знать...:)
Sandman25 (2004-09-24 16:35:00) [13][9] sten (24.09.04 16:33)
'I am D''Artanyan' - кавычка обозначается двумя кавычками, а не четырьмя.
sten (2004-09-24 16:33:00) [14]to Johnmen
нет, именно 4 кавычки, не верите - можете проверить
to Anatoly Podgoretsky
я это в bol вообще не нашел
Anatoly Podgoretsky (2004-09-24 16:27:00) [15]sten (24.09.04 16:17) [6]
Странными ты источниками информации пользовался, мой совет забрось их подальше, а пользуйся официальными
Johnmen (2004-09-24 16:24:00) [16]Одна кавычка в составе строки выглядит как ''
Что соответствует принятым соглашениям.
sten (2004-09-24 16:17:00) [17]все, спасибо, одна кавычка выглядит как ''''
малость странно
Sandman25 (2004-09-24 16:12:00) [18][4] sten (24.09.04 16:10)
'''''''''''' - это строка из 5 символов '
sten (2004-09-24 16:10:00) [19]нет, если две подряд - то это будет пустой символ ''.
Sandman25 (2004-09-24 16:08:00) [20]1. Через параметры
2. Через AnsiQuotedStr