Heim > Datenbank > MySQL-Tutorial > Wie verkette ich Zahlen und Zeichenfolgen in T-SQL korrekt, um Zahlen zu formatieren?

Wie verkette ich Zahlen und Zeichenfolgen in T-SQL korrekt, um Zahlen zu formatieren?

Patricia Arquette
Freigeben: 2024-12-18 17:33:14
Original
374 Leute haben es durchsucht

How to Correctly Concatenate Numbers and Strings in T-SQL to Format Numbers?

So verketten Sie Zahlen und Zeichenfolgen, um Zahlen in T-SQL zu formatieren

Szenario

Sie haben eine Funktion namens ActualWeightDIMS erstellt, die ganzzahlige Werte verkettet Stellt das tatsächliche Gewicht, die tatsächliche Länge, die Breite und die Höhe dar und wird als formatierte Zeichenfolge angezeigt. Wenn Sie die Funktion jedoch mit einer SELECT-Anweisung aufrufen, erhalten Sie eine Fehlermeldung, die auf einen Konvertierungsfehler bei der Konvertierung von Varchar „x“ in eine Ganzzahl hinweist.

Problem

Der Fehler ist auf die falsche Verkettung von Ganzzahlen durch die Funktion zurückzuführen Parameter mit Strings. SQL Server interpretiert das Hinzufügen einer Ganzzahl (@Actual_Dims_Lenght) zu einer Zeichenfolge ('x') als mathematische Operation, die zu einem Konvertierungsfehler führt.

Lösung

Um dieses Problem zu beheben, müssen Sie Sie müssen Ihre ganzzahligen Parameter explizit in VARCHAR konvertieren, bevor Sie sie mit Zeichenfolgen verketten. So sollten Sie Ihre Funktion ändern:

SET @ActualWeightDIMS =
     CAST(@Actual_Dims_Lenght AS VARCHAR(16)) + 'x' +
     CAST(@Actual_Dims_Width  AS VARCHAR(16)) + 'x' +
     CAST(@Actual_Dims_Height  AS VARCHAR(16))
Nach dem Login kopieren

Durch die Umwandlung der ganzzahligen Parameter in VARCHAR stellen Sie sicher, dass der Vorgang als Zeichenfolgenverkettung behandelt wird, was zur gewünschten formatierten Ausgabe führt.

Zusätzlich Überlegungen

Sie haben erwähnt, dass Benutzer auf einer ASP.net-Seite nur entweder Gewicht oder Abmessungen auswählen können. Sie haben gefragt, ob Sie diese Validierung auf der SQL-Seite durchführen müssen. Obwohl dies nicht unbedingt erforderlich ist, kann es eine zusätzliche Sicherheitsebene bieten. Sie können der Datenbank eine CHECK-Einschränkung hinzufügen, um sicherzustellen, dass alle drei Dimensionswerte (Länge, Breite und Höhe) ungleich NULL sind, wenn der Benutzer Dimensionen auswählt. Dies würde verhindern, dass die Funktion falsche oder unvollständige Ergebnisse zurückgibt.

Das obige ist der detaillierte Inhalt vonWie verkette ich Zahlen und Zeichenfolgen in T-SQL korrekt, um Zahlen zu formatieren?. 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