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

Detaillierte Erklärung des Unterschieds zwischen Flex und Inline-Flex in CSS

inline-flex ist dasselbe wie inline-block. Es ist...

Bedeutung und Berechnungsmethode von QPS und TPS der MySQL-Datenbank

Bei DB-Benchmarktests sind QPS und TPS wichtige I...

Detaillierte Erklärung der grundlegenden Syntax und Datentypen von JavaScript

Inhaltsverzeichnis JavaScript importieren 1. Inte...

Vue realisiert Preiskalendereffekt

In diesem Artikelbeispiel wird der spezifische Co...

Verwendung des SerialPort-Moduls in Node.js

Inhaltsverzeichnis Zweck Modulinstallation Grundl...

Vue+Openlayer verwendet modify, um den gesamten Code des Elements zu ändern

Vue+Openlayer verwendet „modify“, um Elemente zu ...

Aktualisierungen für React Router V6

Inhaltsverzeichnis ReactRouterV6-Änderungen 1. &l...

Detaillierte Erklärung, wie Sie alle untergeordneten Elemente mit CSS auswählen

Wie wähle ich mit CSS rekursiv alle untergeordnet...