Heim > Datenbank > MySQL-Tutorial > Wie kann man Eingabezeichenfolgen für dynamische Case-Anweisungen effizient aufteilen und verwenden?

Wie kann man Eingabezeichenfolgen für dynamische Case-Anweisungen effizient aufteilen und verwenden?

Susan Sarandon
Freigeben: 2024-12-31 19:45:18
Original
910 Leute haben es durchsucht

How to Efficiently Split and Use Input Strings for Dynamic Case Statements?

Eingabezeichenfolgen aufteilen

Um die Eingabezeichenfolgen (Daten und Sätze) aufzuteilen, können wir die folgenden Techniken verwenden:

  1. Daten (p_dates): Verwenden Sie die Funktion string_to_array() um aus der Datumszeichenfolge ein Array von Datumsbereichen zu erstellen. Zum Beispiel:

    SELECT string_to_array('2001-01-01to2001-01-05,2001-01-10to2001-01-15', ',')
    Nach dem Login kopieren
  2. Sets (p_sets): Verwenden Sie in ähnlicher Weise die Funktion string_to_array(), um die Sets-Zeichenfolge in ein Array von Set-Namen aufzuteilen. Zum Beispiel:

    SELECT string_to_array('s1,s2,s3,s4', ',')
    Nach dem Login kopieren

Dynamische Case-Anweisung vorbereiten

Sobald diese Arrays erstellt sind, können wir sie zum Generieren der dynamischen Case-Anweisung verwenden unter Verwendung einer Kombination aus CASE WHEN- und SELECT-Anweisungen. Zum Beispiel:

CASE WHEN given_dates BETWEEN date_ranges[1] AND date_ranges[2] THEN set_names[1]
     WHEN given_dates BETWEEN date_ranges[3] AND date_ranges[4] THEN set_names[2]
     ...
     ELSE NULL
END
Nach dem Login kopieren

Hier sind date_ranges und set_names die aus p_dates bzw. p_sets erstellten Arrays.

Diese dynamische Case-Anweisung kann dann verwendet werden, um die Spalte „set_name“ basierend auf dem angegebenen zu aktualisieren Datumsbereiche und Setnamen.

Das obige ist der detaillierte Inhalt vonWie kann man Eingabezeichenfolgen für dynamische Case-Anweisungen effizient aufteilen und verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage