데이터베이스/MS-SQL 😃
.NET 과 SQL Server 의 Data Type Mapping (데이터 형식 매핑)
재우니
2022. 11. 28. 15:07
.NET 과 SQL Server 의 Data Type Mapping (데이터 형식 매핑)
해당 내용은 c# 과 mssql 간의 데이터 타입 연계 작업할때 꼭 지켜야할 가이드 문서입니다. 즉 asp.net core 로 oledb 를 통해 database 에 저장할 때 c# 으로 부터 데이터 타입에 맞게 값을 할당 받아 전달할 경우 매칭해야 할 가이드 문서로 보시면 됩니다.
SQL Server 데이터베이스 엔진 형식 | .NET Framework 형식 | SqlDbType 열거형 | SqlDataReader SqlTypes 형식화된 접근자 | DbType 열거형 | SqlDataReader DbType 형식화된 접근자 |
bigint | Int64 | BigInt | GetSqlInt64 | Int64 | GetInt64 |
binary | Byte[] | VarBinary | GetSqlBinary | Binary | GetBytes |
bit | bool | Bit | GetSqlBoolean | Boolean | GetBoolean |
char | String | Char | GetSqlString | AnsiStringFixedLength, | GetString |
Char[] | String | GetChars | |||
date 1 (SQL Server 2008 이상) | DateTime | Date1 | GetSqlDateTime | Date1 | GetDateTime |
Datetime | DateTime | DateTime | GetSqlDateTime | DateTime | GetDateTime |
datetime2 (SQL Server 2008 이상) | DateTime | DateTime2 | 없음 | 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 | NChar | GetSqlString | StringFixedLength | GetString |
Char[] | GetChars | ||||
ntext | String | NText | GetSqlString | String | GetString |
Char[] | GetChars | ||||
numeric | Decimal | Decimal | GetSqlDecimal | Decimal | GetDecimal |
nvarchar | String | NVarChar | GetSqlString | String | GetString |
Char[] | 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 | GetSqlMoney | Decimal | GetDecimal |
sql_variant | Object 2 | Variant | GetSqlValue2 | Object | GetValue2 |
text | String | Text | GetSqlString | String | GetString |
Char[] | 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 | VarChar | GetSqlString | AnsiString, String | GetString |
Char[] | GetChars | ||||
Xml | xml | Xml | GetSqlXml | Xml | 없음 |
SQL Server 데이터 형식 매핑
https://learn.microsoft.com/ko-kr/dotnet/framework/data/adonet/sql-server-data-type-mappings