Share via


SqlUserDefinedTypeAttribute.IsByteOrdered Property

Definition

Indicates whether the user-defined type is byte ordered.

public:
 property bool IsByteOrdered { bool get(); void set(bool value); };
public bool IsByteOrdered { get; set; }
member this.IsByteOrdered : bool with get, set
Public Property IsByteOrdered As Boolean

Property Value

true if the user-defined type is byte ordered; otherwise false .

Remarks

When set to true, the IsByteOrdered property in effect guarantees that the serialized binary data can be used for semantic ordering of the information. Thus, each instance of a byte-ordered UDT object can only have one serialized representation. When a comparison operation is performed in SQL Server on the serialized bytes, its results should be the same as if the same comparison operation had taken place in managed code.

The following features are supported when IsByteOrdered is set to true:

  • The ability to create indexes on columns of this type.

  • The ability to create primary and foreign keys as well as CHECK and UNIQUE constraints on columns of this type.

  • The ability to use Transact-SQL ORDER BY, GROUP BY, and PARTITION BY clauses. In these cases, the binary representation of the type is used to determine the order.

  • The ability to use comparison operators in Transact-SQL statements.

  • The ability to persist computed columns of this type.

Note that both the Native and UserDefined serialization formats support the following comparison operators when IsByteOrdered is set to true:

  • Equal to (=)

  • Not equal to (!=)

  • Greater than (>)

  • Less than (<)

  • Greater than or equal to (>=)

  • Less than or equal to (<=)

Applies to