您已建立一個連接整數值的函數ActualWeightDIMS表示要顯示為格式化字串的實際重量、長度、寬度和高度。但是,當使用 SELECT 語句呼叫函數時,您會收到錯誤,指示將 varchar 'x' 轉換為整數時轉換失敗。
錯誤源自於函數錯誤的整數連接帶字串的參數。 SQL Server 將整數 (@Actual_Dims_Lenght) 與字串 ('x') 相加解釋為數學運算,從而導致轉換錯誤。
要解決此問題,您在將整數參數與字串連接之前,需要將它們明確轉換為 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))
透過將整數參數轉換為 VARCHAR,您可以確保該操作被視為字串連接,從而產生所需的格式化輸出。
您提到使用者只能在 ASP.net 頁面上選擇重量或尺寸。您詢問是否需要在 SQL 端處理此驗證。雖然這不是絕對必要的,但它可以提供額外的安全層。您可以在資料庫中新增 CHECK 約束,以確保當使用者選擇維度時,所有三個維度值(長度、寬度和高度)均為非 NULL。這將防止函數傳回不正確或不完整的結果。
以上是如何在T-SQL中正確連接數字和字串以格式化數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!