In SQL Server kunt u de SQL_VARIANT_PROPERTY()
functie om basisgegevenstype-informatie terug te geven van een sql_variant waarde.
De functie accepteert twee argumenten:de sql_variant waarde en de eigenschap waarvoor informatie moet worden verstrekt.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld dat het basisconcept en gebruik demonstreert.
DECLARE @var sql_variant = 'Hey!'; SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;
Resultaat:
+------------+ | BaseType | |------------| | varchar | +------------+
In dit geval is het basistype varchar .
Dit gebeurt er als ik de waarde in een ander type verander:
DECLARE @var sql_variant = $1.50; SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;
Resultaat:
+------------+ | BaseType | |------------| | money | +------------+
Deze keer is het basistype geld .
Voorbeeld 2 – Andere eigenschappen
Op het moment van schrijven zijn er zes mogelijke argumenten voor deze functie. Met andere woorden, u kunt informatie krijgen over zes verschillende eigenschappen van de doorgegeven waarde.
Hier is een voorbeeld dat alle zes gebruikt:
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;
Resultaat:
+------------+-------------+---------+--------------+-------------+-------------+ | BaseType | Precision | Scale | TotalBytes | Collation | MaxLength | |------------+-------------+---------+--------------+-------------+-------------| | datetime2 | 27 | 7 | 11 | NULL | 8 | +------------+-------------+---------+--------------+-------------+-------------+