首頁 >資料庫 >mysql教程 >如何在T-SQL中正確連接數字和字串以格式化數字?

如何在T-SQL中正確連接數字和字串以格式化數字?

Patricia Arquette
Patricia Arquette原創
2024-12-18 17:33:14375瀏覽

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

如何在T-SQL 中連接數字和字串以格式化數字

場景

您已建立一個連接整數值的函數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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn