Bagikan melalui


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
sedikit Boolean (tipe data yang hanya memiliki dua nilai: true atau false) Bit GetSqlBoolean Boolean GetBoolean
karakter string

Karakter[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
tanggal 1

(SQL Server 2008 dan yang lebih baru)
Tanggal dan Waktu Date 1 GetSqlDateTime Date 1 GetDateTime
Tanggal dan waktu Tanggal dan Waktu DateTime GetSqlDateTime DateTime GetDateTime
tanggalwaktu2

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

(SQL Server 2008 dan yang lebih baru)
Pengaturan Waktu & Tanggal DateTimeOffset tidak ada DateTimeOffset GetDateTimeOffset
desimal Desimal Decimal GetSqlDecimal Decimal GetDecimal
Atribut FILESTREAM (varbinary(max)) Byte[] VarBinary GetSqlBytes Binary GetBytes
mengapung Laju Float GetSqlDouble Double GetDouble
gambar Byte[] Binary GetSqlBinary Binary GetBytes
int (integer) Int32 Int GetSqlInt32 Int32 GetInt32
uang Desimal Money GetSqlMoney Decimal GetDecimal
nchar string

Karakter[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntext string

Karakter[]
NText GetSqlString String GetString

GetChars
Numerik Desimal Decimal GetSqlDecimal Decimal GetDecimal
nvarchar string

Karakter[]
NVarChar GetSqlString String GetString

GetChars
nyata / asli Tunggal Real GetSqlSingle Single GetFloat
versi baris Byte[] Timestamp GetSqlBinary Binary GetBytes
smalldatetime Tanggal dan Waktu DateTime GetSqlDateTime DateTime GetDateTime
smallint Int16 SmallInt GetSqlInt16 Int16 GetInt16
smallmoney Desimal SmallMoney GetSqlMoney Decimal GetDecimal
aql_variant Objek 2 Variant GetSqlValue 2 Object GetValue 2
Teks string

Karakter[]
Text GetSqlString String GetString

GetChars
waktu

(SQL Server 2008 dan yang lebih baru)
Rentang Waktu Time tidak ada Time GetTimeSpan
rentang waktu Byte[] Timestamp GetSqlBinary Binary GetBytes
kecil Bita TinyInt GetSqlByte Byte GetByte
identifikator unik Panduan UniqueIdentifier GetSqlGuid Guid GetGuid
varbinary Byte[] VarBinary GetSqlBinary Binary GetBytes
varchar string

Karakter[]
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