sql >> Databáze >  >> RDS >> Sqlserver

Vraťte základní datový typ z hodnoty varianty SQL na serveru SQL

V SQL Server můžete použít SQL_VARIANT_PROPERTY() funkce k vrácení informací o základním datovém typu z sql_variant hodnotu.

Funkce přijímá dva argumenty:sql_variant hodnotu a vlastnost, pro kterou mají být informace poskytnuty.

Příklad 1 – Základní použití

Zde je příklad, který demonstruje základní koncept a použití.

DECLARE @var sql_variant = 'Hey!';
SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;

Výsledek:

+------------+
| BaseType   |
|------------|
| varchar    |
+------------+

V tomto případě je základním typem varchar .

Co se stane, když změním hodnotu na jiný typ:

DECLARE @var sql_variant = $1.50;
SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;

Výsledek:

+------------+
| BaseType   |
|------------|
| money      |
+------------+

Tentokrát jsou základním typem peníze .

Příklad 2 – Jiné vlastnosti

V době psaní tohoto článku existuje šest možných argumentů pro tuto funkci. Jinými slovy, můžete získat informace o šesti různých vlastnostech předávané hodnoty.

Zde je příklad, který používá všech šest:

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;

Výsledek:

+------------+-------------+---------+--------------+-------------+-------------+
| BaseType   | Precision   | Scale   | TotalBytes   | Collation   | MaxLength   |
|------------+-------------+---------+--------------+-------------+-------------|
| datetime2  | 27          | 7       | 11           | NULL        | 8           |
+------------+-------------+---------+--------------+-------------+-------------+

  1. PostgreSQL Load Balancing pomocí HAProxy &Keepalived

  2. skript pro převod mysql dump sql souboru do formátu, který lze importovat do sqlite3 db

  3. Existuje operátor postgres NEJBLIŽŠÍ?

  4. Zkontrolujte, zda tabulka obsahuje sloupec TIMESTAMP na serveru SQL pomocí OBJECTPROPERTY()