Heim >Datenbank >MySQL-Tutorial >Wie vermeide ich Konvertierungsfehler beim Verketten von Zahlen und Zeichenfolgen in T-SQL?
In T-SQL besteht eine häufige Aufgabe darin, sie zu kombinieren Zahlen und Zeichenfolgen zum Formatieren eines Felds. Beispielsweise müssen Sie möglicherweise Gewichte oder Abmessungen in bestimmten Einheiten anzeigen. Bei der Kombination von Ganzzahlen und Zeichenfolgen können jedoch Konvertierungsfehler auftreten.
Beachten Sie den folgenden Codeausschnitt, der darauf abzielt, Zahlen für Gewichte und Abmessungen zu verketten und zu formatieren:
ALTER FUNCTION [dbo].[ActualWeightDIMS] ( @ActualWeight int, @Actual_Dims_Lenght int, @Actual_Dims_Width int, @Actual_Dims_Height int ) RETURNS varchar(50) AS BEGIN DECLARE @ActualWeightDIMS varchar(50); --Actual Weight IF (@ActualWeight is not null) SET @ActualWeightDIMS = @ActualWeight; --Actual DIMS IF (@Actual_Dims_Lenght is not null) AND (@Actual_Dims_Width is not null) AND (@Actual_Dims_Height is not null) SET @ActualWeightDIMS= @Actual_Dims_Lenght + 'x' + @Actual_Dims_Width + 'x' + @Actual_Dims_Height; RETURN(@ActualWeightDIMS); END
Bei Verwendung der Funktion tritt ein Fehler auf: „Konvertierung ist beim Konvertieren fehlgeschlagen Varchar-Wert 'x' zum Datentyp int. Dies passiert, wenn Ganzzahlen verkettet werden, ohne sie explizit in Zeichenfolgen zu konvertieren.
Um den Fehler zu beheben, wandeln Sie die Ganzzahlparameter vor der Verkettung explizit in VARCHAR um:
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))
Dies stellt sicher, dass die Parameter als Zeichenfolgen behandelt werden, was ihre Verkettung mit dem Trennzeichen „x“ ermöglicht.
Das obige ist der detaillierte Inhalt vonWie vermeide ich Konvertierungsfehler beim Verketten von Zahlen und Zeichenfolgen in T-SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!