[c#] C #에서 bigint에 해당하는 것은 무엇입니까?
C #에서 값을 처리 할 때 SQL Server 데이터베이스에 가장 큰 값을 처리 할 때 사용해야하는 것은 무엇입니까?
답변
이는 64 비트 정수인 long (또는 Int64 )에 해당합니다.
데이터베이스의 숫자가 충분히 작고 실수로 Int32 등을 사용하더라도 괜찮을 것입니다. 그러나 Int64 는 확실히 그것을 잡을 것입니다.
더 작은 것을 사용하고 전체 크기가 필요한 경우 발생하는 오류는 무엇입니까? 스택 오버플로! 예이!
답변
답변
방금 삽입의 기본 키를 반환하고
SELECT @@identity
내 bigint 기본 키에서 long을 사용하여 캐스트 오류가 발생 하므로이 검색을 시작했습니다. 적어도 제 경우에는 정답은 해당 선택에 의해 반환되는 유형은 NUMERIC이며 이는 10 진수 유형과 같습니다. long을 사용하면 캐스트 예외가 발생합니다.
이것이 하나 이상의 Google 검색에서 또는 스택 오버플로에서 답변을 확인하는 한 가지 이유입니다.
나를 도와 준 데이터베이스 관리자를 인용하려면 :
… BigInt는 모양이 어떻든 INT64와 동일하지 않습니다. 그 이유 중 하나는 SQL이 일반 처리의 일부로 Int / BigInt를 Numeric로 자주 변환하기 때문입니다. 따라서 OLE 또는 .NET으로 갈 때 필요한 변환은 NUMERIC에서 INT입니다.
인쇄 된 값이 동일 해 보이기 때문에 자주 눈치 채지 못합니다. “
답변
긴 데이터 유형을 사용하십시오.
답변
당신은 long
유형 을 사용할 수 있습니다 또는Int64
답변
나는 동등한 것이 Int64라고 생각합니다.
답변
INT SQL에서이 직접 매핑 INT32 또한 원시적 형태 즉,로 알고 INT 의 C # 반면,
BIGINT 는 SQL Server의 정보는 다음의 제품에 직접 매핑 INT64 즉 또한 원시 형으로 알고 긴 에서 C #을
정수의 BigInteger가 정의되어있는 경우 명시 적 변환 여기