Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Nombor dan Rentetan dengan betul dalam T-SQL untuk Memformat Nombor?

Bagaimana untuk Menggabungkan Nombor dan Rentetan dengan betul dalam T-SQL untuk Memformat Nombor?

Patricia Arquette
Patricia Arquetteasal
2024-12-18 17:33:14354semak imbas

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

Cara Menggabungkan Nombor dan Rentetan untuk Memformat Nombor dalam T-SQL

Senario

Anda telah mencipta fungsi, ActualWeightDIMS, yang menggabungkan nilai integer mewakili berat, panjang, lebar dan tinggi sebenar untuk dipaparkan sebagai rentetan yang diformatkan. Walau bagaimanapun, apabila memanggil fungsi dengan pernyataan SELECT, anda menerima ralat yang menunjukkan kegagalan penukaran apabila menukar varchar 'x' kepada integer.

Isu

Ralat berpunca daripada penggabungan integer yang salah fungsi parameter dengan rentetan. SQL Server mentafsirkan penambahan integer (@Actual_Dims_Lenght) pada rentetan ('x') sebagai operasi matematik, yang membawa kepada ralat penukaran.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu menukar secara eksplisit parameter integer anda kepada VARCHAR sebelum menggabungkannya dengan rentetan. Begini cara anda harus mengubah suai fungsi anda:

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))

Dengan menghantar parameter integer ke VARCHAR, anda memastikan operasi itu dianggap sebagai penggabungan rentetan, menghasilkan output terformat yang diingini.

Tambahan Pertimbangan

Anda menyebut bahawa pengguna hanya boleh memilih sama ada berat atau dimensi pada halaman ASP.net. Anda bertanya sama ada anda perlu mengendalikan pengesahan ini pada bahagian SQL. Walaupun ia tidak begitu diperlukan, ia boleh memberikan lapisan keselamatan tambahan. Anda boleh menambah kekangan CHECK dalam pangkalan data untuk memastikan bahawa apabila pengguna memilih dimensi, ketiga-tiga nilai dimensi (panjang, lebar dan tinggi) adalah bukan NULL. Ini akan menghalang fungsi daripada mengembalikan hasil yang salah atau tidak lengkap.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Nombor dan Rentetan dengan betul dalam T-SQL untuk Memformat Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn