Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrátí základní datový typ a další informace o hodnotě sql_variant .
Syntax
SQL_VARIANT_PROPERTY ( expression , property )
Note
Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
Arguments
expression
Je výraz typu sql_variant.
property
Obsahuje název vlastnosti sql_variant , pro kterou se mají poskytnout informace.
vlastnost je varchar(128) a může být libovolná z následujících hodnot:
| Value | Description | Základní typ vrácených sql_variant |
|---|---|---|
| BaseType | Datový typ SQL Serveru, například: bigint binary bit char date datetime datetime2 datetimeoffset decimal float int money nchar numeric nvarchar real smalldatetime smallint smallmoney time tinyint uniqueidentifier varbinary varchar |
sysname NULL = Vstup není platný. |
| Precision | Počet číslic číselného základního datového typu: Datum = 10 Čas = 23 datetime2 = 27 datetime2 (s) = 19, když s = 0, else s + 20 datetimeoffset = 34 datetimeoffset (s) = 26, když s = 0, else s + 27 smalldatetime = 16 čas = 16 time (s) = 8, když s = 0, else s + 9 Float = 53 real = 24 desetinnéa číselné = 18 decimal (p,s) a numeric (p,s) = p peníze = 19 smallmoney = 10 bigint = 19 int = 10 smallint = 5 tinyint = 3 bit = 1 Všechny ostatní typy = 0 |
int NULL = Vstup není platný. |
| Scale | Počet číslic napravo od desetinné čárky číselného základního datového typu: desetinné a číselné = 0 decimal (p,s) a numeric (p,s) = s Peníze a malé peníze = 4 Datum čas = 3 DateTime2 = 7 datetime2 (s) = s (0 - 7) datetimeoffset = 7 datetimeoffset (s) = s (0 - 7) čas = 7 čas (s) = s (0 - 7) všechny ostatní typy = 0 |
int NULL = Vstup není platný. |
| TotalBytes | Počet bajtů potřebných k uložení metadat i dat hodnoty Tyto informace by byly užitečné při kontrole maximální strany dat ve sloupci sql_variant . Pokud je hodnota větší než 900, vytvoření indexu selže. |
int NULL = Vstup není platný. |
| Collation | Představuje kolaci konkrétní sql_variant hodnoty. |
sysname NULL = Vstup není platný. |
| MaxLength | Maximální délka datového typu v bajtech Například MaxLength z nvarchar(50) je 100, MaxLengthint je 4. |
int NULL = Vstup není platný. |
Návratové typy
sql_variant
Examples
A. Použití sql_variant v tabulce
Následující příklad načte SQL_VARIANT_PROPERTY informace o hodnotě colA46279.1, kdecolB =1689 , vzhledem k tomu, že tableA má colA typ sql_variant a .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
Tady je soubor výsledků. Všimněte si, že každá z těchto tří hodnot je sql_variant.
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)
B. Použití sql_variant jako proměnné
Následující příklad načte SQL_VARIANT_PROPERTY informace o proměnné s názvem @v1.
DECLARE @v1 sql_variant;
SET @v1 = 'ABC';
SELECT @v1;
SELECT SQL_VARIANT_PROPERTY(@v1, 'BaseType');
SELECT SQL_VARIANT_PROPERTY(@v1, 'MaxLength');