Heim >Datenbank >MySQL-Tutorial >Wie fülle ich Zahlen in SQL Server-Abfragen mit führenden Nullen auf?
SQL Server: Führende Nullen zu Zahlen hinzufügen
Ihre alte SQL Server 2000-Datenbank char(6)
wurde für Mitarbeiterausweisnummern verwendet und gewährleistet so ein konsistentes Format mit führenden Nullen. Ihre neue Webanwendung speichert diese jedoch zur Verbesserung der Effizienz als Ganzzahlen. Dies stellt beim Abfragen der Daten eine Formatierungsherausforderung dar.
So formatieren Sie Ganzzahlen mit führenden Nullen in Ihren SQL-Abfragen:
Lösung mit REPLICATE:
Die Funktion REPLICATE
bietet eine elegante Lösung:
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(employeeId)) + employeeId FROM dbo.RequestItems WHERE ID = 0;</code>
Passen Sie die „6“ in REPLICATE
an, um die Gesamtlänge der gepolsterten Saite zu steuern. In diesem Beispiel wird eine Länge von sechs Zeichen beibehalten.
Zum Beispiel gibt ein employeeId
von 7135 „007135“ zurück.
Umgang mit INT-Spalten:
Wenn employeeId
eine INT
-Spalte ist, verwenden Sie RTRIM
für die implizite Konvertierung in VARCHAR
:
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(employeeId))) + RTRIM(employeeId) FROM dbo.RequestItems WHERE ID = 0;</code>
Führende Nullen entfernen:
Um die ursprüngliche Zahl (ohne führende Nullen) abzurufen, verwenden Sie die Funktionen RIGHT
und PATINDEX
:
<code class="language-sql">SELECT RIGHT(employeeId, (LEN(employeeId) - PATINDEX('%[^0]%', employeeId)) + 1) FROM dbo.RequestItems WHERE ID = 0;</code>
Dieser Ansatz bietet eine robuste Lösung für die Verwaltung führender Nullen sowohl in Ihrem C#-Code als auch in SQL Server-Abfragen und stellt so die Datenkonsistenz in Ihrer gesamten Anwendung sicher.
Das obige ist der detaillierte Inhalt vonWie fülle ich Zahlen in SQL Server-Abfragen mit führenden Nullen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!