[c#] C #에서 bigint에 해당하는 것은 무엇입니까?

C #에서 값을 처리 할 때 SQL Server 데이터베이스에 가장 큰 값을 처리 할 때 사용해야하는 것은 무엇입니까?



답변

이는 64 비트 정수인 long (또는 Int64 )에 해당합니다.

데이터베이스의 숫자가 충분히 작고 실수로 Int32 등을 사용하더라도 괜찮을 것입니다. 그러나 Int64 는 확실히 그것을 잡을 것입니다.

더 작은 것을 사용하고 전체 크기가 필요한 경우 발생하는 오류는 무엇입니까? 스택 오버플로! 예이!


답변

Int64에 직접 매핑합니다 BigInt.

출처


답변

방금 삽입의 기본 키를 반환하고

SELECT @@identity

내 bigint 기본 키에서 long을 사용하여 캐스트 오류가 발생 하므로이 검색을 시작했습니다. 적어도 제 경우에는 정답은 해당 선택에 의해 반환되는 유형은 NUMERIC이며 이는 10 진수 유형과 같습니다. long을 사용하면 캐스트 예외가 발생합니다.

이것이 하나 이상의 Google 검색에서 또는 스택 오버플로에서 답변을 확인하는 한 가지 이유입니다.

나를 도와 준 데이터베이스 관리자를 인용하려면 :

… BigInt는 모양이 어떻든 INT64와 동일하지 않습니다. 그 이유 중 하나는 SQL이 일반 처리의 일부로 Int / BigInt를 Numeric로 자주 변환하기 때문입니다. 따라서 OLE 또는 .NET으로 갈 때 필요한 변환은 NUMERIC에서 INT입니다.

인쇄 된 값이 동일 해 보이기 때문에 자주 눈치 채지 못합니다. “


답변

긴 데이터 유형을 사용하십시오.


답변

당신은 long유형 을 사용할 수 있습니다 또는Int64


답변

나는 동등한 것이 Int64라고 생각합니다.


답변

INT SQL에서이 직접 매핑 INT32 또한 원시적 형태 즉,로 알고 INTC # 반면,

BIGINT 는 SQL Server의 정보는 다음의 제품에 직접 매핑 INT64 즉 또한 원시 형으로 알고 에서 C #을

정수의 BigInteger가 정의되어있는 경우 명시 적 변환 여기