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

Implementierungsschritte zur Installation eines FTP-Servers in Ubuntu 14.04

Inhaltsverzeichnis Installieren Softwareverwaltun...

jQuery zum Erzielen eines gleitenden Treppeneffekts

In diesem Artikel wird der spezifische Code von j...

Detaillierte Erläuterung der Verwendung von Docker-Tag und Docker-Push

Detaillierte Erklärung des Docker-Tags Die Verwen...

Einführung, Installation und Verwendung von Hyper-V (detaillierte Abbildungen)

Vorwort: Als Gigant in der IT-Branche ist Microso...

Grundlegende Anwendungsbeispiele für benannte Slots in Vue

Vorwort Benannte Slots werden mithilfe des Attrib...

Detaillierte Erläuterung des Installationsprozesses von Jenkins auf CentOS 7

Installieren Sie Jenkins über Yum 1. Installation...

Fallstudie zu JavaScript-Ereignisschleifen

Ereignisschleife in js Da JavaScript ein Single-T...

Detaillierte Erläuterung des MySQL-Indexprinzips und der Abfrageoptimierung

Inhaltsverzeichnis 1. Einleitung 1. Was ist ein I...

Preistabelle mit CSS3 implementiert

Ergebnis: Implementierungscode html <div id=&q...

Detailliertes Tutorial zur Installation von Nginx 1.16.0 unter Linux

Da ich in letzter Zeit mit Linux herumgespielt ha...