Außerdem muss man darauf achten, ob es wirklich als klassischer ASCII ' (ASCII 27) oder als Unicode 2019 (der ähnlich, aber nicht gleich aussieht) gespeichert ist.
Bei Einfügungen ist das keine große Sache, aber bei Auswahlen und Aktualisierungen kann es von großer Bedeutung sein.
Wenn es sich um den Unicode-Wert handelt, dann wird das escaping des ' in einer WHERE-Klausel (z.B. where blah = 'Workers''s Comp') so aussehen, als ob der gesuchte Wert nicht vorhanden wäre, wenn das ' in "Worker's Comp" tatsächlich der Unicode-Wert ist.
Wenn Ihre Client-Anwendung sowohl die Eingabe mit freien Tasten als auch die Eingabe per Kopieren und Einfügen unterstützt, könnte es in einigen Zeilen Unicode und in anderen ASCII sein!
Eine einfache Möglichkeit, dies zu überprüfen, besteht darin, eine Art von Abfrage mit offenem Ende durchzuführen, die den gesuchten Wert zurückbringt, und diesen dann in Notepad++ oder einen anderen Editor, der Unicode unterstützt, zu kopieren und einzufügen.
Der Unterschied zwischen dem Ascii-Wert und dem Unicode-Wert sollte für die Augen offensichtlich sein, aber wenn Sie sich zum Analismus neigen, wird er in einem Hex-Editor als 27 (Ascii) oder 92 (Unicode) angezeigt.
51 Stimmen
"Es gab einige Fehler" - Was waren das für Fehler?
2 Stimmen
Ja, denn der richtige Weg, einfache Anführungszeichen in MSSQL einzufügen, ist, sie zu verdoppeln. Das Beispiel, das Sie uns zeigen, sollte funktionieren. Wie haben Sie diese SQL-Abfrage erstellt, mit welcher Sprache? Oder in SQL Server Management Studio?
1 Stimmen
Mögliches Duplikat von Ersetzen einfacher Anführungszeichen in SQL Server .