Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
В следующей таблице перечислены типы данных SQL Server, их эквиваленты в среде CLR для SQL Server в пространстве имен System.Data.SqlTypes и их собственные эквиваленты CLR в .NET Framework.
| Тип данных SQL Server | Введите (в System.Data.SqlTypes или Microsoft.SqlServer.Types) |
Тип данных CLR (.NET Framework) |
|---|---|---|
| bigint | SqlInt64 |
Int64, Nullable<Int64> |
| binary |
SqlBytes, SqlBinary |
Byte[] |
| bit | SqlBoolean |
Boolean, Nullable<Boolean> |
| char | нет | нет |
| курсор | нет | нет |
| date | SqlDateTime |
DateTime, Nullable<DateTime> |
| datetime | SqlDateTime |
DateTime, Nullable<DateTime> |
| datetime2 | нет |
DateTime, Nullable<DateTime> |
| datetimeoffset | None |
DateTimeOffset, Nullable<DateTimeOffset> |
| десятичное | SqlDecimal |
Decimal, Nullable<Decimal> |
| float | SqlDouble |
Double, Nullable<Double> |
| geography |
SqlGeography
1 |
нет |
| geometry |
SqlGeometry
1 |
нет |
| hierarchyid |
SqlHierarchyId
1 |
нет |
| Изображение | нет | нет |
| int | SqlInt32 |
Int32, Nullable<Int32> |
| money | SqlMoney |
Decimal, Nullable<Decimal> |
| nchar |
SqlChars, SqlString |
String, Char[] |
| ntext | нет | нет |
| numeric | SqlDecimal |
Decimal, Nullable<Decimal> |
| nvarchar |
SqlChars, SqlStringSQLChars лучше подходит для передачи и доступа к данным, и SQLString лучше подходит для выполнения String операций. |
String, Char[] |
| nvarchar(1), nchar(1) |
SqlChars, SqlString |
Char, String, Char[], Nullable<char> |
| real |
SqlSingle (однако диапазон SqlSingle больше реальных) |
Single, Nullable<Single> |
| rowversion | нет | Byte[] |
| smallint | SqlInt16 |
Int16, Nullable<Int16> |
| smallmoney | SqlMoney |
Decimal, Nullable<Decimal> |
| sql_variant | нет | Object |
| table | нет | нет |
| text | нет | нет |
| time | нет |
TimeSpan, Nullable<TimeSpan> |
| timestamp | нет | нет |
| tinyint | SqlByte |
Byte, Nullable<Byte> |
| uniqueidentifier | SqlGuid |
Guid, Nullable<Guid> |
| Определяемый пользователем тип (UDT) | нет | Тот же класс связывается с определяемым пользователем типом данных в той же сборке или в зависимой сборке. |
| varbinary |
SqlBytes, SqlBinary |
Byte[] |
| varbinary(1), binary(1) |
SqlBytes, SqlBinary |
byte, Byte[], Nullable<byte> |
| varchar | нет | нет |
| xml | SqlXml |
нет |
1, определенных в Microsoft.SqlServer.Types.dll, которая установлена с SQL Server и может быть загружена из пакета дополнительных компонентов SQL Server .
Автоматическое преобразование типов данных с выходными параметрами
Метод CLR может возвращать сведения в вызывающий код или программу, помечая входной параметр с помощью модификатора out (C#) или <Out()> ByRef (Visual Basic .NET). Если входной параметр является типом данных CLR в пространстве имен System.Data.SqlTypes, а вызывающая программа задает эквивалентный тип данных SQL Server в качестве входного параметра, преобразование типа происходит автоматически, когда метод CLR возвращает тип данных.
Например, следующая хранимая процедура CLR имеет входной параметр типа данных CLR SqlInt32, помеченного out (C#) или <Out()> ByRef (Visual Basic):
[Microsoft.SqlServer.Server.SqlProcedure]
public static void PriceSum(out SqlInt32 value)
{ ... }
После создания и создания сборки в базе данных хранимая процедура создается в SQL Server со следующим типом данных Transact-SQL, который указывает тип данных SQL Server int в качестве параметра OUTPUT:
CREATE PROCEDURE PriceSum
(@sum INT OUTPUT)
AS EXTERNAL NAME TestStoredProc.StoredProcedures.PriceSum;
При вызове хранимой процедуры CLR тип данных SqlInt32 автоматически преобразуется в тип данных int и возвращается в вызывающую программу.
Однако не все типы данных CLR можно автоматически преобразовать в эквивалентные типы данных SQL Server с помощью параметра out. В следующей таблице перечислены эти исключения.
| Тип данных CLR (SQL Server) | Тип данных SQL Server |
|---|---|
Decimal |
smallmoney |
SqlMoney |
smallmoney |
Decimal |
money |
DateTime |
smalldatetime |
SQLDateTime |
smalldatetime |
Связанное содержимое
- типы данных SQL Server в .NET Framework