Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Если вы знакомы с типами данных SQL Server, вы найдете аналогичную семантику и точность в пространстве имен System.Data.SqlTypes
в .NET Framework. Однако существуют некоторые различия, и в этой статье рассматриваются наиболее важные из этих различий.
Значения NULL
Основное различие между типами данных среды CLR и типами данных SQL Server заключается в том, что первый не допускает NULL
значения, а последний предоставляет полную NULL
семантику.
Сравнения влияют на значения NULL
. При сравнении двух значений x
и y
, если x
или y
NULL
, то некоторые логические сравнения оцениваются как значение UNKNOWN
, а не значение true или false.
Тип данных SqlBoolean
Пространство имен System.Data.SqlTypes
представляет тип SqlBoolean
для представления этой логики с тремя значениями. Сравнения между любыми SqlTypes
возвращают тип значения SqlBoolean
. Значение UNKNOWN
представлено значением NULL типа SqlBoolean
. Свойства IsTrue
, IsFalse
и IsNull
предоставляются для проверки значения типа SqlBoolean
.
Операции, функции и значения NULL
Все арифметические операторы (+
, -
, *
, /
, %
), побитовые операторы (~
, &
и |
), а большинство функций возвращают NULL
, если любой из операндов или аргументов SqlTypes
имеет значение NULL. Свойство IsNull
всегда возвращает значение true
или false
.
Точность
Типы данных с десятичными значениями в среде CLR .NET Framework отличаются от числовых и десятичных типов данных в SQL Server. Кроме того, в платформа .NET Framework типах десятичных данных CLR предполагается максимальная точность. Однако в среде CLR для SQL Server SqlDecimal
обеспечивает ту же максимальную точность и масштаб, а также ту же семантику, что и десятичный тип данных в SQL Server.
Обнаружение переполнения
В среде CLR .NET Framework добавление двух очень больших чисел может не вызвать исключение. Вместо этого, если оператор проверки не используется, возвращаемый результат может обтекать как отрицательное целое число. В System.Data.SqlTypes
исключения создаются для всех ошибок переполнения и переполнения, а также ошибок деления на ноль.
Связанное содержимое
- типы данных SQL Server в .NET Framework