Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Zwraca podstawowy typ danych i inne informacje o wartości sql_variant .
Transact-SQL konwencje składni
Syntax
SQL_VARIANT_PROPERTY ( expression , property )
Note
Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
Arguments
expression
Jest wyrażeniem typu sql_variant.
property
Zawiera nazwę właściwości sql_variant , dla której należy podać informacje.
właściwość jest varchar(128)i może być jedną z następujących wartości:
| Value | Description | Zwracany typ podstawowy sql_variant |
|---|---|---|
| BaseType | Typ danych programu SQL Server, taki jak: 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 = dane wejściowe są nieprawidłowe. |
| Precision | Liczba cyfr typu danych podstawowych liczbowych: data = 10 data/godzina = 23 datetime2 = 27 datetime2 (s) = 19, gdy s = 0, inne s + 20 datetimeoffset = 34 datetimeoffset (s) = 26, gdy s = 0, inne s + 27 smalldatetime = 16 godzina = 16 time (s) = 8, gdy s = 0, else s + 9 Float = 53 real = 24 dziesiętne i liczbowe = 18 liczba dziesiętna (p,s) i liczbowa (p,s) = p pieniądze = 19 smallmoney = 10 bigint = 19 int = 10 smallint = 5 tinyint = 3 bit = 1 Wszystkie inne typy = 0 |
int NULL = dane wejściowe są nieprawidłowe. |
| Scale | Liczba cyfr po prawej stronie punktu dziesiętnego typu danych podstawowych liczbowych: dziesiętne i liczbowe = 0 liczba dziesiętna (p,s) i liczbowa (p,s) = s pieniądze i drobne pieniądze = 4 data/godzina = 3 datetime2 = 7 datetime2 (s) = s (0– 7) datetimeoffset = 7 datetimeoffset (s) = s (0–7) czas = 7 time (s) = s (0–7) wszystkie inne typy = 0 |
int NULL = dane wejściowe są nieprawidłowe. |
| TotalBytes | Liczba bajtów wymaganych do przechowywania zarówno metadanych, jak i danych wartości. Te informacje byłyby przydatne podczas sprawdzania maksymalnej części danych w kolumnie sql_variant . Jeśli wartość jest większa niż 900, tworzenie indeksu kończy się niepowodzeniem. |
int NULL = dane wejściowe są nieprawidłowe. |
| Collation | Reprezentuje sortowanie określonej wartości sql_variant . |
sysname NULL = dane wejściowe są nieprawidłowe. |
| MaxLength | Maksymalna długość typu danych w bajtach. Na przykład Wartość MaxLengthnvarchar(50) to 100 , wartość MaxLength liczby int wynosi 4. |
int NULL = dane wejściowe są nieprawidłowe. |
Typy zwracane
sql_variant
Examples
A. Używanie sql_variant w tabeli
W poniższym przykładzie są pobierane SQL_VARIANT_PROPERTY informacje o colA wartości46279.1, w którejcolB =1689 parametr ma tableAcolAsql_variant typ i .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
Oto zestaw wyników. Należy pamiętać, że każda z tych trzech wartości jest sql_variant.
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)
B. Używanie sql_variant jako zmiennej
Poniższy przykład pobiera SQL_VARIANT_PROPERTY informacje o zmiennej o nazwie @v1.
DECLARE @v1 sql_variant;
SET @v1 = 'ABC';
SELECT @v1;
SELECT SQL_VARIANT_PROPERTY(@v1, 'BaseType');
SELECT SQL_VARIANT_PROPERTY(@v1, 'MaxLength');