SQL Serverでは、SQL_VARIANT_PROPERTY()
を使用できます。 sql_variantからベースデータ型情報を返す関数 値。
この関数は、 sql_variantという2つの引数を受け入れます。 値、および情報が提供されるプロパティ。
例1-基本的な使用法
これは、基本的な概念と使用法を示す例です。
DECLARE @var sql_variant = 'Hey!'; SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;
結果:
+------------+ | BaseType | |------------| | varchar | +------------+
この場合、基本タイプは varcharです。 。
値を別のタイプに変更するとどうなりますか:
DECLARE @var sql_variant = $1.50; SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;
結果:
+------------+ | BaseType | |------------| | money | +------------+
今回の基本タイプはお金です 。
例2–その他のプロパティ
この記事の執筆時点で、この関数には6つの可能な引数があります。つまり、渡された値の6つの異なるプロパティに関する情報を取得できます。
6つすべてを使用する例を次に示します。
DECLARE @var sql_variant = SYSDATETIME(); SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType, SQL_VARIANT_PROPERTY(@var, 'Precision') AS Precision, SQL_VARIANT_PROPERTY(@var, 'Scale') AS Scale, SQL_VARIANT_PROPERTY(@var, 'TotalBytes') AS TotalBytes, SQL_VARIANT_PROPERTY(@var, 'Collation') AS Collation, SQL_VARIANT_PROPERTY(@var, 'MaxLength') AS MaxLength;
結果:
+------------+-------------+---------+--------------+-------------+-------------+ | BaseType | Precision | Scale | TotalBytes | Collation | MaxLength | |------------+-------------+---------+--------------+-------------+-------------| | datetime2 | 27 | 7 | 11 | NULL | 8 | +------------+-------------+---------+--------------+-------------+-------------+