sql >> データベース >  >> RDS >> Sqlserver

SQL ServerのSQL_Variant値からベースデータ型を返す

    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           |
    +------------+-------------+---------+--------------+-------------+-------------+
    

    1. SQLServerのダーティリードの問題を理解する

    2. SQL内部結合と制限のある2つのテーブルからの選択

    3. 初心者向けのSQLServerでの動的データマスキング

    4. ログインフォームを取得してmySQLデータベースと適切に相互作用することができません