Escape-символ в SQL - PullRequest
       2

Escape-символ в SQL

3 голосов
/ 25 июля 2010

Пожалуйста, прости меня, потому что я немного новичок.Я пытаюсь сделать вставку, используя следующее, но у меня проблема с апострофами.У меня много записей для вставки, но у многих такая же проблема.Есть ли способ избежать их?

INSERT INTO  [dbo].[tb_Chefs] ([ChefHotelID], [HotelID], [ChefID],   
     [Position],  [GroupID])  
VALUES(N'b809a86e-f7f2-45b2-a240-0049f51509d7' ,N'14481', N'624', 
     N'Chef d'atelier', N'331')
GO

Любая помощь высоко ценится.

Ответы [ 3 ]

7 голосов
/ 25 июля 2010

'Chef d'atelier' становится 'Chef d''atelier'

Просто удвойте их

Если строка символов, заключенная в одинарные кавычки, содержит встроенную кавычкупредставляет встроенную одинарную кавычку с двумя одинарными кавычками.

1 голос
/ 29 января 2013

Вы также можете воспользоваться предложением ESCAPE.Это позволяет вам определить свой собственный escape-символ.

0 голосов
/ 25 июля 2010

Вместо этого используйте что-то подобное

INSERT INTO [dbo].[tb_Chefs] ([ChefHotelID], [HotelID], [ChefID], [Position], [GroupID])<br> VALUES("N'b809a86e-f7f2-45b2-a240-0049f51509d7'" ,"N'14481'", "N'624'", "N'Chef d'atelier', N'331'")

ИЛИ вы можете сначала сохранить значения, которые вы хотите вставить в переменную, а затем использовать переменную в выражении SQL вместо необработанногозначение.

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