SQL Server에서 이중을 나타내는 것은 무엇입니까?
나는 몇 가지 속성을 C#
가지고 있으며 double
SQL Server의 테이블 에이 속성 을 저장하려고하지만 double
유형 이 없으므로 사용하기 가장 좋은 방법 decimal
또는 float
?
위도 및 경도 값이 저장되므로 가장 정확한 정밀도가 필요합니다.
지금까지 답변 해 주셔서 감사합니다.
float
또는 구식 학교를 가고 싶다면 :
real
float (53)을 사용할 수도 있지만 float와 같은 의미입니다.
( "실제"는 float / float (53)가 아니라 float (24)와 동일합니다.)
진수 (x, y)는 SQL 서버 유형은 당신이 원하는 때입니다 정확한 오히려 포인트 (근사치가 될 수있는) 부동보다 진수를. 이는 128 비트 부동 소수점 숫자와 유사한 C # "10 진수"데이터 형식과 대조됩니다.
MSSQL float 은 .NET 의 64 비트 double 형식 (mantissa IIRC의 약간의 차이) 과 정확히 같은 정밀도를 갖지는 않지만 대부분의 용도에 충분히 일치합니다.
상황을 좀 더 혼란스럽게 만들기 위해 C #의 "float"는 32 비트에 불과하므로 SQL에서 float / float (53)보다 MSSQL의 real / float (24) 유형과 동일합니다.
특정 사용 사례에서 ... 약 1 미터 정밀도 내에서 위도와 경도를 나타내려면 소수점 다음 5 자리 만 있으면됩니다. 도의 소수점 앞에 3 자리까지만 있으면됩니다. Float (24) 또는 decimal (8,5)은 MSSQL의 요구 사항에 가장 잘 맞으며 C #에서 float을 사용하는 것이 충분하므로 이중이 필요하지 않습니다. 실제로, 사용자는 아마 작은 숫자를 타기보다는 소수점 이하 5 자리로 반올림 해 주셔서 감사 할 것입니다.
또한, 여기에 유용한 차트 SQL-CLR 형식 매핑에 대한 좋은 답변입니다.
그 게시물에서 ( David가 ) :
float는 가장 가까운 값입니다.
Lat / Long의 경우 OP가 언급했습니다.
미터는 위도의 1 / 40,000,000이고 1 초는 약 30 미터입니다. float / double은 15 개의 유효 숫자를 제공합니다. 빠르고 피상적 인 정신 산술로 반올림 / 근사 오류는이 채우기 중지의 길이-> "입니다."
FLOAT (53)에 매핑해야합니다 . 이것이 LINQ to SQL의 기능 입니다.
float
SQL Server에서 실제로 "edit : 거의"정밀도는 "double"(C # 의미)입니다.
float
의 동의어입니다 float(53)
. 53은 가수의 비트입니다.
.NET double
은 가수에 54 비트를 사용합니다.
SQL Sever의 경우 :
10 진수 유형은 128 비트 부호있는 숫자입니다. 부동 소수점은 64 비트 부호있는 숫자입니다.
실제 답변은 Float 입니다. 소수점에 대해서는 틀 렸습니다.
그 이유는 10 진수를 사용하면 64 비트의 10 진수 유형을 채우지 않기 때문입니다.
int 유형을 사용하려고하면 10 진수로 오류가 발생하지 않습니다.
다음 은 유형에 대한 멋진 참조 차트입니다.
선택하고 선택할 수있는 것 같습니다. float를 선택하면 11 자리의 정밀도가 떨어질 수 있습니다. 그것이 받아 들여 진다면, Linq 디자이너들은 이것이 좋은 트레이드 오프라고 생각한 것 같습니다.
그러나 응용 프로그램에 추가 자릿수가 필요한 경우 십진수를 사용하십시오. 십진법 (정확하게 구현 됨)은 어쨌든 부동 소수점보다 훨씬 정확합니다.베이스 10에서베이스 2 로의 복잡한 변환은 없습니다.
A Float
는 double
SQL 서버를 나타냅니다 . Visual Studio의 C # 코딩에서 증명을 찾을 수 있습니다. 여기 에서는 SQL 서버와 C #에서 Overtime
로 선언 했습니다 Float
. 따라서 나는 변환 할 수 있습니다
int diff=4;
attendance.OverTime = Convert.ToDouble(diff);
여기 OverTime
에 선언float type
참고 URL : https://stackoverflow.com/questions/1209181/what-represents-a-double-in-sql-server
'Programing' 카테고리의 다른 글
hg forget과 hg remove의 차이점은 무엇입니까? (0) | 2020.03.10 |
---|---|
iPhone 앱 서명 :이 프로파일과 일치하는 유효한 서명 ID를 키 체인에서 찾을 수 없습니다 (0) | 2020.03.10 |
std :: unique_lock (0) | 2020.03.10 |
파이썬에서 문자열을 연결하는 가장 좋은 방법은 무엇입니까? (0) | 2020.03.10 |
pip를 사용하여 개인 GitHub 저장소에서 패키지를 설치할 수 있습니까? (0) | 2020.03.10 |