다음을 통해 공유


SQL Server 데이터 형식 매핑

SQL Server와 .NET Framework는 서로 다른 형식 시스템을 기반으로 합니다. 예를 들어 .NET Framework Decimal 구조의 최대 자릿수는 28인 반면 SQL Server decimal 및 숫자 데이터 형식의 최대 자릿수는 38입니다. 데이터를 읽거나 쓸 때 데이터 무결성을 유지하기 위해 SqlDataReaderSystem.Data.SqlTypes의 개체를 반환하는 SQL Server 관련 형식화된 접근자 메서드 및 .NET Framework 형식을 반환하는 접근자 메서드를 노출합니다. SQL Server 형식 및 .NET Framework 형식 모두 DbType 데이터 형식을 지정할 때 사용할 수 있는 SqlDbTypeSqlParameter 클래스에 열거형으로 표시됩니다.

다음 표에서는 유추된 .NET Framework 형식, DbTypeSqlDbType 열거형 및 SqlDataReader에 대한 접근자 메서드를 보여 줍니다.

SQL Server 데이터베이스 엔진 형식 .NET Framework 형식 SqlDbType 열거형 SqlDataReader SqlTypes 형식화된 접근자 DbType 열거형 SqlDataReader DbType 형식화된 접근자
빅인트 (bigint) Int64 BigInt GetSqlInt64 Int64 GetInt64
이진법 바이트[] VarBinary GetSqlBinary Binary GetBytes
조각 부울 Bit GetSqlBoolean Boolean GetBoolean
char(문자) 문자열

Char[]
Char GetSqlString AnsiStringFixedLength;

String
GetString

GetChars
날짜 1

(SQL Server 2008 이상)
날짜와 시간 Date 1 GetSqlDateTime Date 1 GetDateTime
Datetime 날짜와 시간 DateTime GetSqlDateTime DateTime GetDateTime
datetime2은(는) 데이터베이스 날짜 및 시간 형식의 데이터 타입입니다.

(SQL Server 2008 이상)
날짜와 시간 DateTime2 없음 DateTime2 GetDateTime
DateTimeOffset (날짜 및 시간 오프셋)

(SQL Server 2008 이상)
DateTimeOffset (날짜 및 시간 오프셋) DateTimeOffset 없음 DateTimeOffset GetDateTimeOffset
십진수 십진수 Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM 특성(varbinary(max)) 바이트[] VarBinary GetSqlBytes Binary GetBytes
떠다니다 두 배 Float GetSqlDouble Double GetDouble
이미지 바이트[] Binary GetSqlBinary Binary GetBytes
정수 (int) Int32 Int GetSqlInt32 Int32 GetInt32
십진수 Money GetSqlMoney Decimal GetDecimal
nchar 문자열

Char[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntext 문자열

Char[]
NText GetSqlString String GetString

GetChars
숫자 십진수 Decimal GetSqlDecimal Decimal GetDecimal
nvarchar 문자열

Char[]
NVarChar GetSqlString String GetString

GetChars
진짜 / 현실 싱글 Real GetSqlSingle Single GetFloat
행 버전 (rowversion) 바이트[] Timestamp GetSqlBinary Binary GetBytes
스몰데이트타임 날짜와 시간 DateTime GetSqlDateTime DateTime GetDateTime
스몰인트 Int16 SmallInt GetSqlInt16 Int16 GetInt16
소액돈 십진수 SmallMoney GetSqlMoney Decimal GetDecimal
sql_variant (SQL서버 데이터 유형 다양성) 개체 2 Variant GetSqlValue 2 Object GetValue 2
문자 메시지 문자열

Char[]
Text GetSqlString String GetString

GetChars
시간

(SQL Server 2008 이상)
TimeSpan Time 없음 Time GetTimeSpan
시간표시 바이트[] Timestamp GetSqlBinary Binary GetBytes
tinyint 바이트 TinyInt GetSqlByte Byte GetByte
고유 식별자 GUID UniqueIdentifier GetSqlGuid Guid GetGuid
바바이너리 바이트[] VarBinary GetSqlBinary Binary GetBytes
varchar 문자열

Char[]
VarChar GetSqlString AnsiString: String GetString

GetChars
Xml XML Xml GetSqlXml Xml 없음

1DbTypeSqlParameter 속성을 SqlDbType.Date로 설정할 수 없습니다.
2sql_variant의 기본 형식을 알고 있으면 특정 형식의 접근자를 사용합니다.

SQL Server 설명서

SQL Server 데이터 형식에 대한 자세한 내용은 데이터 형식(Transact-SQL)을 참조하세요.

참고 항목