データ型の処理
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
データは、定義済みの長さを持つ文字列、特定の精度を持つ数値、または独自のルール セットを持つ別のオブジェクトであるユーザー定義データ型など、さまざまな型およびサイズで表現されます。 DataType オブジェクトは、データの種類を分類して、Microsoft SQL Server で正しく処理できるようにします。 DataType オブジェクトは、データを受け入れるオブジェクトに関連付けられています。 次の SQL Server 管理オブジェクト (SMO) オブジェクトは、 DataType オブジェクト プロパティで定義する必要があるデータを受け入れます。
データを受け入れるオブジェクトの DataType プロパティは、次のいくつかの方法で設定することができます。
既定のコンストラクターを使用して、DataType オブジェクト プロパティを明示的に指定する。
オーバーロードされたコンストラクターを使用して、DataType プロパティをパラメーターとして指定する。
オブジェクト コンストラクター内で DataType インラインを指定する。
Int など、DataType クラスのいずれかの静的メンバーを使用します。これは実際には、DataType オブジェクトのインスタンスを返します。
DataType オブジェクトには、データの型を定義するいくつかのプロパティがあります。 たとえば、 SqlDataType プロパティは SQL Server データ型を指定します。 SQL Server のデータ型を表す定数値は、 SqlDataType 列挙体に一覧表示されます。 これは、 varchar、 nchar、 currency、 integer、 float、および datetimeなどのデータ型を参照します。
データ型を確立したら、そのデータに対して特定のプロパティを設定する必要があります。 たとえば、 nchar 型の場合、 Length プロパティで文字列データの長さを設定する必要があります。 これは、有効桁数と小数点以下桁数を指定する必要のある数値に対しても同様です。
UserDefinedDataType データ型および UserDefinedType データ型は、ユーザーによって定義されるデータの型の定義を含んでいるオブジェクトを参照します。 UserDefinedDataTypeは、SqlDataType列挙型の SQL Server データ型に基づいています。 UserDefinedTypeは、Microsoft .NET データ型に基づいています。 これらは、組織で定義されているビジネス ルールに従ってデータベースで頻繁に再利用される型のデータを表現していることが普通です。 たとえば、複数の通貨を扱う会社では、金額や通貨基準を格納するデータ型が役に立ちます。
SqlDataType列挙には、SQL Server でサポートされているすべてのデータ型の一覧が含まれています。
例
提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「 Visual Studio .NET で Visual C# SMO プロジェクトを作成するを参照してください。
Visual Basic でのコンストラクター内の指定による DataType オブジェクトの構築
このコード例では、コンストラクターを使用して、さまざまな SQL Server データ型に基づくデータ型のインスタンスを作成する方法を示します。
Note
UserDefinedType、UserDefinedDataType、および 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
UserDefinedType、UserDefinedDataType、および 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 データ型に基づくデータ型のインスタンスを作成する方法を示します。 データ型の指定にはプロパティを使用します。
注 UserDefinedType、 UserDefinedDataType、および XML 型はすべて、オブジェクトを識別するための名前値を必要とします。
'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 データ型に基づくデータ型のインスタンスを作成する方法を示します。 データ型の指定にはプロパティを使用します。
注 UserDefinedType、 UserDefinedDataType、および XML 型はすべて、オブジェクトを識別するための名前値を必要とします。
{
//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;
}