Bagaimana Anda menghindari pembagian dengan kesalahan nol pada tabel di bawah ini?
CREATE TABLE [dbo].[TblDivision]
(
[Numerator] int NOT NULL,
[Denominator] int NOT NULL,
[Result] AS (Numerator/ Denominator)
)
GO
Insert into (Numerator, Denominator) TblDivision values (3,0)
GO
Jawaban:
Tambahkan saja case khusus untuk pembagian dengan 0:
sumber
Mirip dengan solusi @ Phil:
Jika Denominator bernilai 0, ia dipetakan ke nol melalui nullif. Karena apa pun yang dibagi dengan nol adalah nol, hasilnya menjadi nol dalam kasus ini.
sumber
sumber