3 Stimmen

Zeichen in SQL escapen

Bitte verzeihen Sie mir, da ich ein bisschen ein SQL-Neuling bin. Ich versuche, einen Insert mit folgendem durchzuführen, habe aber ein Problem mit den Apostrophen. Ich habe viele Datensätze einzufügen, aber viele haben das gleiche Problem. Gibt es eine Möglichkeit, sie zu escapen?

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

Jede Hilfe ist sehr willkommen.

7voto

gbn Punkte 407102

'Chef d'atelier' wird zu 'Chef d''atelier'

Einfach verdoppeln

Wenn eine Zeichenkette in einfachen Anführungszeichen ein eingebettetes Anführungszeichen enthält, stellen Sie das eingebettete einfache Anführungszeichen mit zwei einfachen Anführungszeichen dar.

1voto

Rob Breidecker Punkte 554

Sie können auch die ESCAPE-Klausel verwenden. Dadurch können Sie Ihr eigenes Escape-Zeichen definieren.

0voto

Yanki Twizzy Punkte 7381

Verwenden Sie stattdessen etwas wie

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'")

ODER Sie könnten die Werte, die Sie einfügen möchten, zunächst in einer Variablen speichern und dann die Variable im SQL-Statement anstelle des Rohwerts verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X