Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Az alapadattípust és az sql_variant értékre vonatkozó egyéb információkat adja vissza.
Transact-SQL szintaxis konvenciók
Syntax
SQL_VARIANT_PROPERTY ( expression , property )
Note
Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
Arguments
expression
A sql_variant típusú kifejezés.
property
Annak a sql_variant tulajdonságnak a nevét tartalmazza, amelynek adatait meg kell adni.
tulajdonságavarchar(128), és az alábbi értékek bármelyike lehet:
| Value | Description | Visszaadott sql_variant alaptípusa |
|---|---|---|
| BaseType | SQL Server-adattípus, például: 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 = A bemenet érvénytelen. |
| Precision | A numerikus alap adattípus számjegyeinek száma: dátum = 10 dátumidő = 23 datetime2 = 27 datetime2 (s) = 19 ha s = 0, egyéb s + 20 datetimeoffset = 34 datetimeoffset (s) = 26 ha s = 0, egyéb s + 27 smalldatetime = 16 idő = 16 idő (s) = 8, ha s = 0, egyéb s + 9 lebegőpontos = 53 valós = 24 decimális és numerikus = 18 decimális (p,s) és numerikus (p,s) = p pénz = 19 smallmoney = 10 bigint = 19 int = 10 smallint = 5 tinyint = 3 bit = 1 Minden más típus = 0 |
int NULL = A bemenet érvénytelen. |
| Scale | A numerikus alapadattípus tizedespontjától jobbra lévő számjegyek száma: decimális és numerikus = 0 decimális (p,s) és numerikus (p,s) = s pénz és kismamák = 4 dátumidő = 3 datetime2 = 7 datetime2 (s) = s (0 - 7) datetimeoffset = 7 datetimeoffset (s) = s (0 - 7) idő = 7 idő (s) = s (0 - 7) minden más típus = 0 |
int NULL = A bemenet érvénytelen. |
| TotalBytes | Az érték metaadatainak és adatainak tárolásához szükséges bájtok száma. Ez az információ hasznos lehet egy sql_variant oszlopban lévő adatok maximális oldalának ellenőrzéséhez. Ha az érték nagyobb, mint 900, az index létrehozása meghiúsul. |
int NULL = A bemenet érvénytelen. |
| Collation | Az adott sql_variant érték rendezése. |
sysname NULL = A bemenet érvénytelen. |
| MaxLength | Adattípus maximális hossza bájtban. Például az nvarchar(50)MaxLength értéke 100, a int maxLength értéke 4. |
int NULL = A bemenet érvénytelen. |
Visszatérési típusok
sql_variant
Examples
A. Sql_variant használata egy táblában
Az alábbi példa beolvassa SQL_VARIANT_PROPERTY annak az értéknek colA az 46279.1 adatait, aholcolB =1689 a tableAcolA típus sql_variant és colBa .
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
Itt van az eredmények összessége. Vegye figyelembe, hogy a három érték mindegyike egy sql_variant.
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)
B. Sql_variant használata változóként
Az alábbi példa egy nevesített SQL_VARIANT_PROPERTY@v1változó adatait kéri le.
DECLARE @v1 sql_variant;
SET @v1 = 'ABC';
SELECT @v1;
SELECT SQL_VARIANT_PROPERTY(@v1, 'BaseType');
SELECT SQL_VARIANT_PROPERTY(@v1, 'MaxLength');