float 및 real(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

부동 소수점 숫자 데이터에 사용하는 근사 숫자 데이터 형식입니다. 부동 소수점 데이터는 근사값이므로 해당 데이터 형식 범위에 있는 모든 값을 정확하게 표현할 수는 없습니다. real의 ISO 동의어는 float(24) 입니다.

Transact-SQL 구문 표기 규칙

구문

float [ (n) ] 여기서 n은 과학적 표기법으로 float 숫자의 가수를 저장하는 데 사용되는 비트 수로서, 전체 자릿수 및 스토리지 크기를 결정합니다. n이 지정된 경우 그 값은 1에서 53 사이여야 합니다. n의 기본값은 53입니다.

n 자릿수 스토리지 크기
1-24 7자리 4바이트
25-53 15자리 8바이트

참고

SQL Server에서는 n을 가능한 두 값 중 하나로 처리합니다. 1<=n<=24이면 n24로 처리됩니다. 25<=n<=53이면 n53으로 처리됩니다.

SQL Server float[ (n) ] 데이터 형식은 1부터 53까지 n의 모든 값에 대해 ISO 표준을 준수합니다. double precision의 동의어는 float(53) 입니다.

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

설명

데이터 형식 범위 스토리지
float - 1.79E+308에서 -2.23E-308, 0과 2.23E-308에서 1.79E+308 이 값은 n의 값에 따라 달라집니다.
real - 3.40E+38에서 -1.18E - 38, 0과 1.18E-38에서 3.40E + 38 4바이트

float 및 real 데이터 변환

float의 값은 정수 형식으로 변환될 때 잘립니다.

float 또는 real에서 문자 데이터로 변환할 때 일반적으로 STR 문자열 함수를 사용하는 것이 CAST( )를 사용하는 것보다 유용합니다. 이는 STR을 사용하면 서식을 더 많이 제어할 수 있기 때문입니다. 자세한 내용은 STR(Transact-SQL)함수(Transact-SQL)를 참조하세요.

SQL Server 2016(13.x) 이전에는 float 값을 decimal 또는 numeric로 변환하는 경우 정밀도 값이 17자리로 제한됩니다. 5E-18(과학적 표기법 5E-18 또는 10진 표기법 0.000000000000000005를 사용하여 설정된 경우) 미만의 float 값은 0으로 버림됩니다. SQL Server 2016(13.x)부터 더 이상 제한되지 않습니다.

참고 항목

ALTER TABLE(Transact-SQL)
CAST 및 CONVERT(Transact-SQL)
CREATE TABLE(Transact-SQL)
데이터 형식 변환(데이터베이스 엔진)
데이터 형식(Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)