次の方法で共有


SQL_VARIANT_PROPERTY (Transact-SQL)

sql_variant 値の基本データ型およびその他の情報を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

SQL_VARIANT_PROPERTY ( expression , property )

引数

expression

sql_variant 型の式です。

property

情報を提供する sql_variant プロパティの名前です。propertyvarchar(128) であり、次のいずれかの値をとります。

説明 返される sql_variant の基本データ型

BaseType

以下のような SQL Server 2005 のデータ型です。

bigint

binary

char

decimal

float

int

money

nchar

numeric

nvarchar

real

smalldatetime

smallint

smallmoney

tinyint

uniqueidentifier

varbinary

varchar

sysname

NULL = 無効な入力

Precision

数値基本データ型の桁数です。

datetime = 23

smalldatetime = 16

float = 53

real = 24

decimal (p,s) および numeric (p,s) = p

money = 19

smallmoney = 10

bigint = 19

int = 10

smallint = 5

tinyint = 3

bit = 1

その他のすべてのデータ型 = 0

int

NULL = 無効な入力

Scale

数値基本データ型の小数点の右側の桁数です。

decimal (p,s) および numeric (p,s) = s

money および smallmoney = 4

datetime = 3

その他のすべての型 = 0

int

NULL = 無効な入力

TotalBytes

メタデータと値のデータの両方を保持するのに必要なバイト数です。この情報は、sql_variant 列内のデータの最大サイズをチェックする上で役に立ちます。値が 900 を超える場合は、インデックスを作成できません。

int

NULL = 無効な入力

Collation

特定の sql_variant 値の照合順序を表します。

sysname

NULL = 無効な入力

MaxLength

データの最大データ長 (バイト単位) です。たとえば、nvarchar(50)MaxLength は 100 であり、intMaxLength は 4 です。

int

NULL = 無効な入力

戻り値の型

sql_variant

次の例では、colB =1689colA46279.1 に関する SQL_VARIANT_PROPERTY 情報を取得しています。tableA には sql_variant 型の colA と、colB が含まれているものとします。

CREATE   TABLE tableA(colA sql_variant, colB int)
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT   SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
         SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
         SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM      tableA
WHERE      colB = 1689

以下に結果セットを示します。 値は 3 つとも sql_variant です。

Base Type    Precision    Scale
---------    ---------    -----
decimal      8           2

(1 row(s) affected)

参照

関連項目

sql_variant (Transact-SQL)

その他の技術情報

sql_variant 型のデータの使用

ヘルプおよび情報

SQL Server 2005 の参考資料の入手