Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menghantar NVARCHAR dengan Selamat ke INT dengan Nilai Lalai dalam T-SQL?

Bagaimana untuk Menghantar NVARCHAR dengan Selamat ke INT dengan Nilai Lalai dalam T-SQL?

Patricia Arquette
Lepaskan: 2024-12-28 08:56:11
asal
357 orang telah melayarinya

How to Safely Cast NVARCHAR to INT with a Default Value in T-SQL?

Menghantar Nvarchar kepada Integer dengan Nilai Lalai dalam T-SQL

Dalam SQL Server, cabaran timbul apabila cuba menukar data nvarchar bukan angka kepada integer. Untuk mengendalikan senario sedemikian dengan berkesan, adalah penting untuk menentukan nilai lalai atau NULL untuk dikembalikan sekiranya penukaran gagal.

Mujurlah, T-SQL menawarkan penyelesaian kepada isu ini menggunakan gabungan CAST dan Kenyataan KES. Mari terokai cara ia berfungsi:

DECLARE @text AS NVARCHAR(10)
Salin selepas log masuk

Baris ini mengisytiharkan pembolehubah bernama "@text" dengan panjang maksimum 10 aksara, membolehkan kami menyimpan data nvarchar.

SET @text = '100'
Salin selepas log masuk

Seterusnya , pembolehubah "@text" diberikan nilai "100", yang merupakan integer yang sah perwakilan.

SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE NULL END
Salin selepas log masuk

Baris ini menggunakan pernyataan CASE untuk menilai sama ada nilai "@text" ialah angka atau tidak. Jika ia mengembalikan 1 (Benar), fungsi CAST menukar "@text" kepada integer. Jika ia bukan berangka, pernyataan itu mengembalikan NULL.

Fungsi ISNUMERIC memainkan peranan penting dalam proses ini. Walau bagaimanapun, perlu diperhatikan batasan yang disebut oleh Fedor Hajdu, seperti potensinya untuk merawat rentetan yang mengandungi simbol ($) atau pemisah (.) sebagai angka. Ini merupakan pertimbangan yang penting apabila bekerja dengan jenis data tertentu.

Kesimpulannya, menggunakan pernyataan CASE, bersama-sama dengan CAST dan ISNUMERIC, memberi kuasa kepada pembangun untuk menukar data nvarchar kepada integer dengan mudah sambil mengendalikan kemungkinan kegagalan penukaran, memastikan integriti dan ketepatan keputusan mereka dalam T-SQL.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar NVARCHAR dengan Selamat ke INT dengan Nilai Lalai dalam T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan