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:
-
Erstellen Sie eine temporäre Tabelle: Erstellen Sie eine temporäre Tabelle, um die Originaldaten zu speichern und die erforderlichen Spalten zu definieren.
- Generieren Sie eine dynamische Liste: Verschiedene Kategorien werden verwendet, um mit Sub -Query abzufragen und sie mit getrennten Kommas zu verbinden.
Pivot -Abfrage erstellen: - 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: Führen Sie dynamische Drehzahlabfragen durch, um das Ergebnis nach der Konvertierung zu generieren. -
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!