データ型の処理

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

データは、定義済みの長さを持つ文字列、特定の精度を持つ数値、または独自のルール セットを持つ別のオブジェクトであるユーザー定義データ型など、さまざまな型およびサイズで表現されます。 オブジェクトはDataType、データの種類を分類して、Microsoft SQL Serverで正しく処理できるようにします。 DataType オブジェクトは、データを受け入れるオブジェクトに関連付けられています。 次のSQL Server管理オブジェクト (SMO) オブジェクトは、オブジェクト プロパティで定義する必要があるデータをDataType受け入れます。

データを受け入れるオブジェクトの DataType プロパティは、次のいくつかの方法で設定することができます。

  • 既定のコンストラクターを使用して、DataType オブジェクト プロパティを明示的に指定する。

  • オーバーロードされたコンストラクターを使用して、DataType プロパティをパラメーターとして指定する。

  • オブジェクト コンストラクター内で DataType インラインを指定する。

  • クラスの静的メンバーの 1 つ (DataTypeInt など) を使用します。これにより、実際には オブジェクトのインスタンスがDataType返されます。

DataType オブジェクトには、データの型を定義するいくつかのプロパティがあります。 たとえば、 プロパティはSqlDataTypeSQL Serverデータ型を指定します。 SQL Serverデータ型を表す定数値は、列挙体にSqlDataType一覧表示されます。 これは、 varcharncharcurrencyintegerfloat、および datetimeなどのデータ型を参照します。

データ型を確立したら、そのデータに対して特定のプロパティを設定する必要があります。 たとえば、 nchar 型の場合、 Length プロパティで文字列データの長さを設定する必要があります。 これは、有効桁数と小数点以下桁数を指定する必要のある数値に対しても同様です。

UserDefinedDataType データ型および UserDefinedType データ型は、ユーザーによって定義されるデータの型の定義を含んでいるオブジェクトを参照します。 UserDefinedDataTypeは、 列挙体SQL Serverデータ型にSqlDataType基づいています。 は UserDefinedType 、Microsoft .NET データ型に基づいています。 これらは、組織で定義されているビジネス ルールに従ってデータベースで頻繁に再利用される型のデータを表現していることが普通です。 たとえば、複数の通貨を扱う会社では、金額や通貨基準を格納するデータ型が役に立ちます。

SqlDataType列挙には、SQL Serverサポートされているすべてのデータ型の一覧が含まれています。

提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「 Visual Studio .NET で Visual C# SMO プロジェクトを作成する」を参照してください。

Visual Basic でのコンストラクター内の指定による DataType オブジェクトの構築

このコード例では、コンストラクターを使用して、さまざまなSQL Serverデータ型に基づくデータ型のインスタンスを作成する方法を示します。

Note

UserDefinedTypeUserDefinedDataType、および XML 型にはすべて、オブジェクトを識別するための名前の値が必要です。

'Declare a DataType object variable and define the data type in the constructor.
Dim dt As DataType
'For the decimal data type the following two arguments specify precision, and scale.
dt = New DataType(SqlDataType.Decimal, 10, 2)

Visual C# でのコンストラクター内の指定による DataType オブジェクトの構築

このコード例では、コンストラクターを使用して、さまざまなSQL Serverデータ型に基づくデータ型のインスタンスを作成する方法を示します。

Note

UserDefinedTypeUserDefinedDataType、および XML 型にはすべて、オブジェクトを識別するための名前の値が必要です。

{   
//Declare a DataType object variable and define the data type in the constructor.   
DataType dt;   
//For the decimal data type the following two arguments specify precision, and scale.   
dt = new DataType(SqlDataType.Decimal, 10, 2);   
}  

Visual Basic での既定のコンストラクターを使用した DataType オブジェクトの構築

このコード例では、既定のコンストラクターを使用して、さまざまなSQL Serverデータ型に基づくデータ型のインスタンスを作成する方法を示します。 データ型の指定にはプロパティを使用します。

メモUserDefinedDataType、および XML 型はすべてUserDefinedType、オブジェクトを識別するために名前値が必要です。

'Declare and create a DataType object variable.
Dim dt As DataType
dt = New DataType
'Define the data type by setting the SqlDataType property.
dt.SqlDataType = SqlDataType.VarChar
'The VarChar data type requires a value for the MaximumLength property.
dt.MaximumLength = 100

Visual C# での既定のコンストラクターを使用した DataType オブジェクトの構築

このコード例では、既定のコンストラクターを使用して、さまざまなSQL Serverデータ型に基づくデータ型のインスタンスを作成する方法を示します。 データ型の指定にはプロパティを使用します。

メモUserDefinedDataType、および XML 型はすべてUserDefinedType、オブジェクトを識別するために名前値が必要です。

{   
//Declare and create a DataType object variable.   
DataType dt;   
dt = new DataType();   
//Define the data type by setting the SqlDataType property.   
dt.SqlDataType = SqlDataType.VarChar;   
//The VarChar data type requires a value for the MaximumLength property.   
dt.MaximumLength = 100;   
}