Heim  >  Artikel  >  Datenbank  >  Oracle-Zitate entkommen

Oracle-Zitate entkommen

PHPz
PHPzOriginal
2023-05-13 16:50:371271Durchsuche

Oracle ist derzeit eines der beliebtesten Datenbankverwaltungssysteme auf Unternehmensebene und wird häufig in verschiedenen Anwendungsplattformen auf Unternehmensebene verwendet. In Oracle ist das Entkommen von Anführungszeichen ein häufiges Problem, da Anführungszeichen die Markierungssymbole sind, die Zeichenfolgenwerte in SQL-Anweisungen darstellen. Wenn der Zeichenfolgenwert selbst Anführungszeichen enthält, müssen diese mit Escapezeichen versehen werden, um Syntaxfehler zu vermeiden. In diesem Artikel wird das Problem der Anführungszeichen-Escape-Funktion in Oracle ausführlich vorgestellt.

  1. Einfaches Anführungszeichen maskieren

In Oracle werden zwei Arten von Anführungszeichen verwendet, um Zeichenfolgenwerte darzustellen: einfache Anführungszeichen und doppelte Anführungszeichen. Unter diesen werden normalerweise einfache Anführungszeichen verwendet, um Textzeichenfolgen darzustellen, wie zum Beispiel:

SELECT *
FROM Employees
WHERE FirstName = 'John';

Im obigen Code stellt „John“ eine Textzeichenfolge dar, die zum Abgleichen von Zeilen mit dem Wert „John“ in der Spalte „Vorname“ verwendet wird.

Wenn jedoch die Textzeichenfolge selbst einfache Anführungszeichen enthält, tritt ein Syntaxfehler auf, wie zum Beispiel:

SELECT *
FROM Employees
WHERE FirstName = 'John's';

In diesem Fall werden die Anführungszeichen nicht erkannt, was zu einem Syntaxfehler führt. Um dieses Problem zu lösen, können Sie einfache Anführungszeichen als Escapezeichen verwenden, zum Beispiel:

SELECT *
FROM Employees
WHERE FirstName = 'John''s';

Im obigen Code werden zwei einfache Anführungszeichen fortlaufend angezeigt, was auf ein einzelnes Anführungszeichen hinweist.

  1. Doppelte Anführungszeichen-Escapezeichen

Neben einfachen Anführungszeichen unterstützt Oracle auch die Verwendung doppelter Anführungszeichen zur Darstellung von Bezeichnern (z. B. Tabellennamen, Spaltennamen usw.). Das Escapen doppelter Anführungszeichen ist in manchen Fällen nützlich, insbesondere wenn Bezeichner ungewöhnliche Zeichen enthalten. Beispiel:

SELECT "First Name", "Last Name"
FROM Employees;

Im obigen Code sind „Vorname“ und „Nachname“ Bezeichner, die in doppelte Anführungszeichen eingeschlossen sind. In diesem Fall bleiben durch doppelte Anführungszeichen Leerzeichen und andere Sonderzeichen im Bezeichner erhalten.

Es ist jedoch wichtig zu beachten, dass die Verwendung von doppelten Anführungszeichen dazu führt, dass Oracle die Groß- und Kleinschreibung beachtet, da Oracle Bezeichner standardmäßig in Großbuchstaben umwandelt. Wenn ein in doppelte Anführungszeichen eingeschlossener Bezeichner daher Kleinbuchstaben enthält, müssen diese mit doppelten Anführungszeichen maskiert werden. Beispiel:

SELECT "First Name", "Last Name"
FROM Employees;

Im obigen Code sind „Vorname“ und „Nachname“ in doppelte Anführungszeichen eingeschlossene Bezeichner, sodass Oracle sie als vom Normalfall abweichend betrachtet und sie nicht in Großbuchstaben umwandelt.

  1. ANSI_QUOTES-Modus

Manchmal müssen Sie in Oracle sowohl einfache als auch doppelte Anführungszeichen verwenden, zum Beispiel:

SELECT *
FROM Employees
WHERE "First Name" = 'John';

Im obigen Code ist „Vorname“ eine in doppelte Anführungszeichen eingeschlossene Kennung, „John“ dagegen eine in einfache Anführungszeichen eingeschlossene Textzeichenfolge.

Allerdings unterstützt Oracle das Mischen von einfachen und doppelten Anführungszeichen standardmäßig nicht. Wenn Sie den ANSI_QUOTES-Modus in Oracle verwenden möchten, um diese Situation zu unterstützen, müssen Sie den folgenden Befehl verwenden:

SET SQL92_RESERVED_WORDS = 'NONE';

Nach Verwendung des obigen Befehls kann Oracle die gemischte Verwendung von einfachen und doppelten Anführungszeichen unterstützen.

  1. Zusammenfassung

In Oracle ist das Entkommen von Anführungszeichen ein sehr häufiges Problem. Wenn Sie einfache Anführungszeichen zur Darstellung einer Textzeichenfolge verwenden möchten, müssen Sie beachten, dass die Textzeichenfolge einfache Anführungszeichen enthalten kann und Sie zwei aufeinanderfolgende einfache Anführungszeichen als Escapezeichen verwenden können. Wenn Sie doppelte Anführungszeichen zur Darstellung von Bezeichnern verwenden möchten, müssen Sie beachten, dass Oracle Bezeichner standardmäßig in Großbuchstaben umwandelt und mit doppelten Anführungszeichen maskiert werden kann. Wenn Sie sowohl einfache als auch doppelte Anführungszeichen verwenden müssen, können Sie den ANSI_QUOTES-Modus verwenden. Das Obige sind die grundlegenden Wissenspunkte zum Escapezeichen in Anführungszeichen in Oracle. Ich hoffe, dass es für die Leser hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonOracle-Zitate entkommen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Oracle-AbfrageleistungNächster Artikel:Oracle-Abfrageleistung