MSDN에 따르면 REAL 숫자의 범위는 -3.40E + 38 ~ -1.18E-38, 0 및 1.18E-38 ~ 3.40E + 38입니다. 실제 하한은 훨씬 낮습니다. 다음 스크립트는 REAL 열을 1.401298E-45로 채 웁니다.
CREATE TABLE a
(
r1 REAL NULL ,
r2 REAL NULL ,
r3 REAL NULL
) ;
GO
INSERT INTO a
( r1, r2 )
VALUES ( 1.18E-37, 10 ) ;
GO
DECLARE @i INT ;
SET @i = 1 ;
WHILE @i < 20
BEGIN ;
UPDATE a
SET r1 = r1 / r2 ;
SELECT r1 ,
r2
FROM a ;
SET @i = @i + 1 ;
END ;
GO
DROP TABLE a ;
r1 r2
------------- -------------
1.18E-38 10
(snip)
r1 r2
------------- -------------
1.401298E-45 10
누구든지 가능한 가장 낮은 양의 숫자를 말해 줄 수 있습니까?
1
이 유형에는 분명히 이상한 동작이 있습니다. 내가 캐스팅하고 선택할 수있는 가장 작은 스칼라 리터럴은 1.1754944E-38로, 1.175494E-38로 돌아 왔습니다 (끝에 누락 된 4 참고). 1.175494E-38을 직접 캐스팅하려고하면 0이됩니다. 뒤.
—
Jon Seigel