Saya memiliki prosedur tersimpan yang memasukkan dua catatan ke dalam tabel, perbedaan antara catatan adalah bahwa kolom waktu dari catatan kedua adalah @MinToAdd
setelah yang pertama:
CREATE PROCEDURE CreateEntry
/*Other columns*/
@StartTime time(2),
@EndTime time(2),
@MinutesToAdd smallint
AS
BEGIN
SET NOCOUNT ON;
SET @MinutesToAdd = @MinutesToAdd % 1440; --Prevent overflow if needed?
IF (@MinutesToAdd > 0)
BEGIN
INSERT INTO ClientNotification (/*Other columns*/ startTime, endTime)
OUTPUT inserted.id
VALUES
(/*Other columns*/ @StartTime, @EndTime),
(/*Other columns*/ @StartTime + @MinutesToAdd, @EndTime + @MinutesToAdd);
END
ELSE
BEGIN
/*Whatever ELSE does.*/
END
END
Apa cara yang benar untuk menambahkan @MinutesToAdd
menit ke @StartTime
dan @EndTime
?
Harap dicatat saya menggunakan time
tipe data.
Pembaruan :
Jawaban yang benar harus berisi informasi berikut:
- Cara menambahkan menit ke
time
tipe data. - Bahwa solusi yang diusulkan tidak mengakibatkan hilangnya presisi.
- Masalah atau kekhawatiran yang harus diperhatikan jika risalah terlalu besar untuk dimasukkan ke dalam
time
variabel, atau risiko tergulingnyatime
variabel. Jika tidak ada masalah maka harap sebutkan.