Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich eine Tabelle basierend auf geteilten Datumsbereichen und Satznamen mithilfe einer Case-Anweisung dynamisch?
Gegebene Zeichenfolge aufteilen und Case-Anweisung vorbereiten
Um eine Tabelle basierend auf bestimmten Datumsbereichen und entsprechenden Satznamen effizient zu aktualisieren, ist eine Aufteilung erforderlich Die angegebenen Strings werden dynamisch in einzelne Komponenten zerlegt. Dieser Ansatz ermöglicht die Handhabung variabler Eingabeparameter und gewährleistet Flexibilität bei Aktualisierungsvorgängen.
Datumsbereiche aufteilen und Namen festlegen
Datum aufteilen Bereiche:
SELECT unnest(string_to_array(p_dates, ',')) AS date_range;
Split Set Names:
SELECT unnest(string_to_array(p_sets, ',')) AS set_name;
Dynamische Fallauszugsvorbereitung
Sobald die Datumsbereiche und der Satz festgelegt sind Wenn Namen aufgeteilt werden, kann eine dynamische Case-Anweisung wie folgt erstellt werden Schritte:
Datumsbereiche durchlaufen:
Bereich extrahieren Grenzen:
Case-Klausel erstellen:
Der folgende Codeausschnitt zeigt, wie das geht Bereiten Sie den dynamischen Fall vor Aussage:
PREPARE upd_tbl AS UPDATE table_name SET set_name = CASE WHEN given_date BETWEEN split_part(, 'to', 1)::date AND split_part(, 'to', 2)::date THEN ELSE null END;
Wobei:
Durch Ausführen dieser vorbereiteten Anweisung mit date_range und set_name als Parametern kann die Tabelle basierend auf den angegebenen Datumsbereichen aktualisiert werden und Namen festlegen.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Tabelle basierend auf geteilten Datumsbereichen und Satznamen mithilfe einer Case-Anweisung dynamisch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!