Mapping .NET CLR Datatypes with SQL Server 2008 Parameters
October 12, 2009
Leave a comment
The following table maps .NET CLR datatypes with SQL Server parameters. The full Microsoft article is here.
| SQL Server data type | CLR data type (SQL Server) | CLR data type (.NET Framework) |
| bigint | SqlInt64 | Int64, Nullable<Int64> |
| binary | SqlBytes, SqlBinary | Byte[] |
| bit | SqlBoolean | Boolean, Nullable<Boolean> |
| char | None | None |
| cursor | None | None |
| date | SqlDateTime | DateTime, Nullable<DateTime> |
| datetime | SqlDateTime | DateTime, Nullable<DateTime> |
| datetime2 | SqlDateTime | DateTime, Nullable<DateTime> |
| DATETIMEOFFSET | None | DateTimeOffset, Nullable<DateTimeOffset> |
| decimal | SqlDecimal | Decimal, Nullable<Decimal> |
| float | SqlDouble | Double, Nullable<Double> |
| geography | SqlGeographySqlGeography is defined in Microsoft.SqlServer.Types.dll, which is installed with SQL Server and can be downloaded from the SQL Server 2008 feature pack. | None |
| geometry | SqlGeometrySqlGeometry is defined in Microsoft.SqlServer.Types.dll, which is installed with SQL Server and can be downloaded from the SQL Server 2008 feature pack. | None |
| hierarchyid | SqlHierarchyIdSqlHierarchyId is defined in Microsoft.SqlServer.Types.dll, which is installed with SQL Server and can be downloaded from the SQL Server 2008 feature pack. | None |
| image | None | None |
| int | SqlInt32 | Int32, Nullable<Int32> |
| money | SqlMoney | Decimal, Nullable<Decimal> |
| nchar | SqlChars, SqlString | String, Char[] |
| ntext | None | None |
| numeric | SqlDecimal | Decimal, Nullable<Decimal> |
| nvarchar | SqlChars, SqlStringSQLChars is a better match for data transfer and access, and SQLString is a better match for performing String operations. | String, Char[] |
| nvarchar(1), nchar(1) | SqlChars, SqlString | Char, String, Char[], Nullable<char> |
| real | SqlSingle | Single, Nullable<Single> |
| rowversion | None | Byte[] |
| smallint | SqlInt16 | Int16, Nullable<Int16> |
| smallmoney | SqlMoney | Decimal, Nullable<Decimal> |
| sql_variant | None | Object |
| table | None | None |
| text | None | None |
| time | TimeSpan | TimeSpan, Nullable<TimeSpan> |
| timestamp | None | None |
| tinyint | SqlByte | Byte, Nullable<Byte> |
| uniqueidentifier | SqlGuid | Guid, Nullable<Guid> |
| User-defined type(UDT) | None | The same class that is bound to the user-defined type in the same assembly or a dependent assembly. |
| varbinary | SqlBytes, SqlBinary | Byte[] |
| varbinary(1), binary(1) | SqlBytes, SqlBinary | byte, Byte[], Nullable<byte> |
| varchar | None | None |
| xml | SqlXml | None |
Hope this helps.
Categories: Programming, SQL Server
.NET, c#, CLR, SQL Server 2008
Recent Comments