Ich bekomme viele Datenbankinformationen von Clients in Excel-Tabellen. Ich muss diese Daten häufig wieder in die Datenbank einfügen/aktualisieren.
Ich verwende häufig Excel, um die Einfüge- und Aktualisierungsanweisungen zu generieren, indem ein Bündel Zellen zusammengefügt wird. Manchmal enthalten die Daten Textzellen, die einfache Anführungszeichen enthalten können. Wenn nicht sorgfältig gehandelt wird, führen diese einfachen Anführungszeichen zum Bruch der SQL-Anweisungen.
Wie kann ich einfache Anführungszeichen in Textdaten mit Hilfe von Formeln schützen, wenn Sie mehrere Zellwerte miteinander verketten, damit meine resultierenden SQL-Skripts gültig sind?
Die beste Lösung, die ich gefunden habe, ist folgende zu verwenden:
=SUBSTITUTE(A1, "'", "''")
Dadurch werden alle einfachen Anführungszeichen durch zwei einfache Anführungszeichen ersetzt, die in T-SQL-Anweisungen das Zeichen umgehen und es als Zeichenfolgendaten behandeln.
Die Verwendung von CONCATENATE
mit doppelten Anführungszeichen erfordert lediglich ein Escape-Zeichen. Das wird wie folgt gemacht:
=CONCATENATE("""";"In quotes!";"""")