다음을 통해 공유


SQL Server 데이터 형식 매핑(ADO.NET)

업데이트: November 2007

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

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

SQL Server 데이터베이스 엔진 형식

.NET Framework 형식

SqlDbType 열거형

SqlDataReader SqlTypes 형식화된 접근자

DbType 열거형

SqlDataReader DbType 형식화된 접근자

bigint

Int64

BigInt

GetSqlInt64

Int64

GetInt64

binary

Byte[]

VarBinary

GetSqlBinary

Binary

GetBytes

bit

Boolean

Bit

GetSqlBoolean

Boolean

GetBoolean

char

String

Char[]

Char

GetSqlString

AnsiStringFixedLength,

String

GetString

GetChars

date

(SQL Server 2008에만 해당)

DateTime

Date

GetSqlDateTime

Date

GetDateTime

datetime

DateTime

DateTime

GetSqlDateTime

DateTime

GetDateTime

datetime2

(SQL Server 2008에만 해당)

DateTime2

DateTime2

GetSqlDateTime

DateTime2

GetDateTime

datetimeoffset

(SQL Server 2008에만 해당)

DateTimeOffset

DateTimeOffset

없음

DateTimeOffset

GetDateTimeOffset

decimal

Decimal

Decimal

GetSqlDecimal

Decimal

GetDecimal

FILESTREAM 특성(varbinary(max))

Byte[]

VarBinary

GetSqlBytes

Binary

GetBytes

float

Double

Float

GetSqlDouble

Double

GetDouble

image

Byte[]

Binary

GetSqlBinary

Binary

GetBytes

int

Int32

Int

GetSqlInt32

Int32

GetInt32

money

Decimal

Money

GetSqlMoney

Decimal

GetDecimal

nchar

String

Char[]

NChar

GetSqlString

StringFixedLength

GetString

GetChars

ntext

String

Char[]

NText

GetSqlString

String

GetString

GetChars

numeric

Decimal

Decimal

GetSqlDecimal

Decimal

GetDecimal

nvarchar

String

Char[]

NVarChar

GetSqlString

String

GetString

GetChars

real

Single

Real

GetSqlSingle

Single

GetFloat

rowversion

Byte[]

Timestamp

GetSqlBinary

Binary

GetBytes

smalldatetime

DateTime

DateTime

GetSqlDateTime

DateTime

GetDateTime

smallint

Int16

SmallInt

GetSqlInt16

Int16

GetInt16

smallmoney

Decimal

SmallMoney

GetSqlDecimal

Decimal

GetDecimal

sql_variant

Object *

Variant

GetSqlValue *

Object

GetValue *

text

String

Char[]

Text

GetSqlString

String

GetString

GetChars

time

(SQL Server 2008에만 해당)

TimeSpan

Time

없음

Time

GetDateTime

timestamp

Byte[]

Timestamp

GetSqlBinary

Binary

GetBytes

tinyint

Byte

TinyInt

GetSqlByte

Byte

GetByte

uniqueidentifier

Guid

UniqueIdentifier

GetSqlGuid

Guid

GetGuid

varbinary

Byte[]

VarBinary

GetSqlBinary

Binary

GetBytes

varchar

String

Char[]

VarChar

GetSqlString

AnsiString, String

GetString

GetChars

xml

Xml

Xml

GetSqlXml

Xml

없음

* sql_variant의 기본 형식을 알고 있으면 해당되는 형식화된 특정 접근자를 사용하십시오.

SQL Server 온라인 설명서 참조

SQL Server 데이터 형식에 대한 자세한 내용을 보려면 현재 사용하고 있는 SQL Server 버전에 해당하는 SQL Server 온라인 설명서 버전을 참조하십시오.

SQL Server 2000

SQL Server 2005

SQL Server 2008

Data Types

데이터 형식(데이터베이스 엔진)

데이터 형식(데이터베이스 엔진)

참고 항목

개념

매개 변수 및 매개 변수 데이터 형식 구성(ADO.NET)

기타 리소스

SQL Server 데이터 형식과 ADO.NET

SQL Server 이진 데이터 및 큰 값 데이터(ADO.NET)

ADO.NET의 데이터 형식 매핑