SQL Server Pemetaan Jenis Data

SQL Server dan .NET Framework didasarkan pada sistem jenis yang berbeda. Misalnya, struktur .NET Framework Decimal memiliki skala maksimum 28, sedangkan jenis data desimal dan numerik SQL Server memiliki skala maksimum 38. Untuk menjaga integritas data saat membaca dan menulis data, SqlDataReader memperlihatkan metode pengakses ketik khusus SQL Server yang mengembalikan objek System.Data.SqlTypes serta metode pengakses yang mengembalikan jenis .NET Framework. Jenis SQL Server dan jenis .NET Framework juga diwakili oleh enumerasi di kelas DbType dan SqlDbType, yang dapat Anda gunakan saat menentukan jenis data SqlParameter.

Tabel berikut menunjukkan jenis .NET Framework yang dinodekan, enumerasi DbType dan SqlDbType, dan metode pengakses untuk SqlDataReader.

Jenis SQL Server Database Engine Jenis .NET Framework Enumerasi SqlDbType Aksesor berjenis SqlDataReader SqlTypes Enumerasi DbType Aksesor berjenis SqlDataReader DbType
bigint Int64 BigInt GetSqlInt64 Int64 GetInt64
biner Byte[] VarBinary GetSqlBinary Binary GetBytes
bit Boolean Bit GetSqlBoolean Boolean GetBoolean
char String

Char[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
date 1

(SQL Server 2008 dan yang lebih baru)
DateTime Date1 GetSqlDateTime Date1 GetDateTime
datetime DateTime DateTime GetSqlDateTime DateTime GetDateTime
tanggalwaktu2

(SQL Server 2008 dan yang lebih baru)
DateTime DateTime2 Tidak DateTime2 GetDateTime
tanggalwaktulewat

(SQL Server 2008 dan yang lebih baru)
DateTimeOffset DateTimeOffset tidak ada DateTimeOffset GetDateTimeOffset
desimal Decimal Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM attribute (varbinary(max)) Byte[] VarBinary GetSqlBytes Binary GetBytes
float Laju Float GetSqlDouble Double GetDouble
gambar 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 Tunggal 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
aql_variant Objek 2 Variant GetSqlValue2 Object GetValue2
text String

Char[]
Text GetSqlString String GetString

GetChars
waktu

(SQL Server 2008 dan yang lebih baru)
TimeSpan Time tidak ada Time GetDateTime
rentang waktu 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 tidak ada

1 Anda tidak dapat mengatur properti DbType dari SqlParameter ke SqlDbType.Date.
2 Gunakan pengakses yang diketik khusus jika Anda mengetahui jenis sql_variant yang mendasari.

Dokumentasi SQL Server

Untuk informasi selengkapnya tentang jenis data SQL Server, lihat Jenis data (Transact-SQL).

Lihat juga