CREATE VIEW dbo.ExactNumericDataTypeRanges
AS
SELECT TypeName,
CAST(MinValue AS NUMERIC(38, 4)) AS MinValue,
CAST(MaxValue AS NUMERIC(38, 4)) AS MaxValue
FROM ( VALUES ( 'bit' , 0 , 1), ( 'int' , -2147483648 , 2147483647), ( 'bigint', -9223372036854775808, 9223372036854775807), ( 'smallint', -32768, 32767),
( 'tinyint', 0, 255), ( 'money', -922337203685477.5808 , 922337203685477.5807), ( 'smallmoney', -214748.3648, 214748.3647) ) ty (TypeName, MinValue, MaxValue)