Probleme bei der Verwendung mehrerer einfacher und dreifacher Anführungszeichen in MySQL concat

Probleme bei der Verwendung mehrerer einfacher und dreifacher Anführungszeichen in MySQL concat

Beim dynamischen Verketten von Zeichenfolgen verwenden wir häufig die Zeichenverkettung. Ich verstehe die Anführungszeichen für die Verkettung nicht, wie zum Beispiel:

1. Warum stehen in '''+ id +''' drei Anführungszeichen? Warum steht links ein Pluszeichen und rechts ein Pluszeichen? (Können Sie mir das genauer erklären?)

SQL-Code

Summe(Fall Verlassen wenn '''+ ID +''' dann DaysNo sonst 0 Ende) ['+ Name +']'

Normaler Satz:

SQL-Code

SUMME (CASE Urlaub, wenn '01', dann TageNr. ENDE) als [CASE Urlaub],
SUM(CASE Urlaub WENN '02' DANN TageNr ENDE) AS [Krankenurlaub]

Kurze Antwort:

Einfach ausgedrückt werden einfache Anführungszeichen zum Verketten von Anweisungen und drei Anführungszeichen zum Verketten von Zeichenfolgenvariablenwerten verwendet.

Da Anführungszeichen eine besondere Bedeutung haben, müssen sie zweimal geschrieben werden, um sie zu maskieren.

2. Gibt es einen Unterschied zwischen einfachen und doppelten Anführungszeichen für Zeichenfolgen?

Einfach ausgedrückt: Wenn Sie es normal verwenden, verwenden Sie einfache Anführungszeichen. Wenn Sie sich in einfachen Anführungszeichen befinden, müssen Sie einfache Anführungszeichen verwenden. Dann müssen Sie ein zusätzliches einfaches Anführungszeichen (Escape) hinzufügen, um drei einfache Anführungszeichen zu erhalten.

In Standard-SQL werden Zeichenfolgenliterale in einfache Anführungszeichen eingeschlossen.

Wenn die Zeichenfolge selbst auch einfache Anführungszeichen enthält, verwenden Sie zwei einfache Anführungszeichen (beachten Sie, keine doppelten Anführungszeichen; doppelte Anführungszeichen in der Zeichenfolge müssen nicht separat maskiert werden).

Die MySQL-Erweiterung für SQL ermöglicht die Verwendung sowohl einfacher als auch doppelter Anführungszeichen.

Kurzzusammenfassung:

Wenn beim Verketten einer Zeichenfolge einfache Anführungszeichen in der Anweisung erforderlich sind, können zwei einfache Anführungszeichen anstelle von einem verwendet werden.

mysql> Auswahl concat('drop user ''''@', '''', @@hostname, '''');
+----------------------------------------------------+
| concat('Benutzer löschen ''''@', '''', @@Hostname, '''') |
+----------------------------------------------------+
| Benutzer ''@'bei-f0q5bc2.gemalto.com' löschen |
+----------------------------------------------------+
1 Zeile im Satz (0,00 Sek.)

Ergänzende Erweiterung: MySQL fügt einen String mit einfachen Anführungszeichen + doppelten Anführungszeichen ein

Wie unten dargestellt:

String needInsertStr= ein String zwischen einfachen und doppelten Anführungszeichen;

String finalStr = needInsertStr.replaceAll("'", "\\\\\'"); //Die Wirkung ist gleichbedeutend mit dem Hinzufügen eines Escape-Symbols vor dem einfachen Anführungszeichen\
//Dasselbe gilt für andere Sonderzeichen long dateMillions = System.currentTimeMillis();

StringBuilder stringBuilder = neuer StringBuilder();
stringBuilder.append("einfügen in ");
stringBuilder.append(Tabellenname);
stringBuilder.append("(uuid,name,metric_id,service_id,script,gelöscht,erstellt,aktualisiert) ");
stringBuilder.append("Werte(uuid(),'");
stringBuilder.anhängen(Name);
stringBuilder.append("','");
stringBuilder.anhängen(Name);
stringBuilder.append("','");
stringBuilder.append(serviceId);
stringBuilder.append("','");
stringBuilder.append(finalStr);
stringBuilder.append("',0,");
stringBuilder.append(dateMillions);
stringBuilder.append(",");
stringBuilder.append(dateMillions);
stringBuilder.append(")");

gibt stringBuilder.toString() zurück;

// Das Skriptfeld ist eine Zeichenfolge mit einfachen und doppelten Anführungszeichen

in Tabelle einfügen (Zeichenfolge) Werte(' "Dies ist eine Testanweisung" + \'Test einfache und doppelte Anführungszeichen\' ')

Der obige Artikel über die Verwendung mehrerer einfacher und dreifacher Anführungszeichen in MySQL concat ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • So fügen Sie einen Wert mit einfachen Anführungszeichen oder Backslashes in MySQL-Anweisungen ein
  • Eine detaillierte Analyse des Mordes, der durch ein falsch platziertes Anführungszeichen in MySQL verursacht wurde
  • Über Mysql-Abfragen mit einfachen Anführungszeichen und das Einfügen von Zeichenfolgen mit einfachen Anführungszeichen
  • Analyse von MySQL-Leistungsproblemen, die durch ein einzelnes Anführungszeichen verursacht werden
  • Detaillierte Erklärung des Unterschieds und der Verwendung von Anführungszeichen und Backticks in MySQL

<<:  Docker installiert Elasticsearch7.6-Cluster und legt Passwort fest

>>:  Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue

Artikel empfehlen

Beispiele für ES6-Schleifen und iterierbare Objekte

Dieser Artikel untersucht die ES6-for...of-Schlei...

So gestalten Sie die Homepage von Tudou.com

<br />Ich arbeite seit mehreren Jahren im Fr...

Tutorial zur Installation von Apache 2.4.41 unter Windows 10

1. Installation und Konfiguration von Apache 2.4....

MySQL 8.0.19 Installations-Tutorial

Laden Sie das Installationspaket von der offiziel...

Detaillierte Erklärung des virtuellen DOM und des Diff-Algorithmus in React

Die Rolle des virtuellen DOM Zunächst müssen wir ...

Detaillierte Erklärung, wie Angular mit unerwarteten Ausnahmefehlern umgeht

Vorne geschrieben Unabhängig davon, wie gut der C...

Einrichten eines Proxyservers mit nginx

Nginx kann seine Reverse-Proxy-Funktion zum Imple...

Detaillierte Analyse des Linux-Kernel-Makros container_of

1. Wie oben erwähnt Ich habe dieses Makro gesehen...

Tutorial zur Verwendung von $attrs und $listeners in Vue

Inhaltsverzeichnis einführen Beispiel Zusammenfas...

Problemaufzeichnung bei der Verwendung des Vue+Echarts-Diagramms

Vorwort echarts ist mein am häufigsten verwendete...

Welcher Befehl eignet sich besser für die unscharfe Suche nach Dateien in Linux?

1. Einleitung In diesem Artikel wird hauptsächlic...

Methode zur Verhinderung von SSH-Cracking auf Linux-Servern (empfohlen)

1. Der Linux-Server konfiguriert /etc/hosts.deny ...