ホームページ >データベース >mysql チュートリアル >T-SQL で数値と文字列を連結するときに変換エラーを回避するにはどうすればよいですか?
T-SQL では、一般的なタスクは結合することです。数値と文字列を使用してフィールドをフォーマットします。たとえば、特定の単位を使用して重量や寸法を表示する必要がある場合があります。ただし、整数と文字列を組み合わせる場合、変換エラーが発生する可能性があります。
重量と寸法の数値を連結してフォーマットすることを目的とした次のコード スニペットを考えてみましょう。
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
関数を使用すると、次のエラーが発生します:「変換時に変換に失敗しました」 varchar 値 'x' をデータ型 int に変換します。」これは、明示的に文字列に変換せずに整数を連結すると発生します。
エラーを解決するには、連結前に整数パラメータを VARCHAR に明示的にキャストします。
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))
これパラメータが文字列として扱われるようにし、「x」との連結を許可します。区切り文字。
以上がT-SQL で数値と文字列を連結するときに変換エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。