Heim > Datenbank > MySQL-Tutorial > Wie verwendet ich dynamische SQL -Pivot für die Datenumwandlung mit Null- oder leerer Stringhandhabung?

Wie verwendet ich dynamische SQL -Pivot für die Datenumwandlung mit Null- oder leerer Stringhandhabung?

Barbara Streisand
Freigeben: 2025-01-25 18:42:11
Original
929 Leute haben es durchsucht

Verwenden Sie den dynamischen SQL Pivot für die Datenkonvertierung, verarbeiten Sie Null oder leere Zeichenfolge

In diesem Artikel wird vorgestellt, wie die Daten in der Tabelle in das Format der Kategorieperspektive konvertiert werden, wobei die Stelle als Null- oder leere Zeichenfolge dargestellt wird. Dies kann durch dynamische SQL Pivot -Abfrage implementiert werden.

Pivot verwenden, um dynamische Konvertierung

durchzuführen

In den folgenden Schritten wird der Prozess des Erstellens einer dynamischen Drehzahlabfrage:

erstellt:
  1. Erstellen Sie eine temporäre Tabelle: Erstellen Sie eine temporäre Tabelle, um die Originaldaten zu speichern und die erforderlichen Spalten zu definieren.
  2. Generieren Sie eine dynamische Liste: Verschiedene Kategorien werden verwendet, um mit Sub -Query abzufragen und sie mit getrennten Kommas zu verbinden.
  3. Pivot -Abfrage erstellen:
  4. Die generierten Listen werden als Pivot -Parameter verwendet, um eine Drehzahlabfrage zu erstellen. Die Polymerisationsfunktion ruft den Maximalwert jeder Kategorie ab. MAX() Führen Sie die Abfrage aus:
  5. Führen Sie dynamische Drehzahlabfragen durch, um das Ergebnis nach der Konvertierung zu generieren.
  6. Ergebnisse
Die generierte Tabelle enthält eine Spalte, die die einzige Kategorie darstellt, und das Datum wird als Zeile verwendet. Der leere Wert kann gemäß der erforderlichen Ausgabe über die Null- oder leere Zeichenfolge verarbeitet werden.
<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX);

SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.category) 
            FROM temp c
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')

set @query = 'SELECT date, ' + @cols + ' from 
            (
                select date
                    , amount
                    , category
                from temp
           ) x
            pivot 
            (
                 max(amount)
                for category in (' + @cols + ')
            ) p '


execute(@query)</code>
Nach dem Login kopieren

Beispielergebnisse:

Das obige ist der detaillierte Inhalt vonWie verwendet ich dynamische SQL -Pivot für die Datenumwandlung mit Null- oder leerer Stringhandhabung?. 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