Есть ли у меня какая-либо причина для реализации 2 функций, одна для INT и вторая для BIGINT?
Простой ответ на этот вопрос. Вам нужна всего одна функция для BIGINT
Например:
DECLARE @BigInt BIGINT = 922337203685477580;
DECLARE @Int INT = 2147483647;
--SET @Int = @BigInt; this wont work, so your choice is BIGINT
SET @BigInt = @Int;
и вот test
с функциями, которые делают его очень понятным.
+-----------+--------------------------------------------------------------------------+---------+
| Data type | Range | Storage |
+-----------+--------------------------------------------------------------------------+---------+
| bigint | -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) | 8 Bytes |
| int | -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) | 4 Bytes |
+-----------+--------------------------------------------------------------------------+---------+
См. int, bigint, smallint, and tinyint