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.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Rögzített vagy változó hosszúságú bináris adattípusok.
Arguments
bináris [ ( n ) ]
Rögzített hosszúságú, n bájt hosszúságú bináris adatok, ahol az n érték 1 és 8 000 között van. A tárterület mérete n bájt.
varbináris [ ( n | max) ]
Változó hosszúságú bináris adatok. n 1 és 8 000 közötti érték lehet. a maximális tárterületméret 2^31-1 bájt. A tárterület mérete a megadott adatok tényleges hossza + 2 bájt. A beírt adatok hossza 0 bájt lehet. A varbinary ANSI SQL-szinonimája binárisan változó.
Remarks
Az alapértelmezett hossz 1, ha n nincs megadva adatdefinícióban vagy változódeklarációs utasításban. Ha n nincs megadva a CAST függvénnyel, az alapértelmezett hossz 30.
| Adattípus | Használja, ha ... |
|---|---|
| binary | az oszlopadat-bejegyzések mérete konzisztens. |
| varbinary | az oszlopadat-bejegyzések mérete jelentősen eltérő. |
| varbinary(max) | az oszlopadat-bejegyzések száma meghaladja a 8000 bájtot. |
Bináris és varbináris adatok konvertálása
Ha sztring típusú adatokat konvertál egy egyenlőtlen hosszúságú bináris vagy varbináris adattípusra, az SQL Server a jobb oldalon köti össze vagy csonkolja az adatokat. Ezek a sztring adattípusok a következők:
- char
- varchar
- nchar
- nvarchar
- binary
- varbinary
- text
- ntext
- image
Ha más adattípusokat bináris vagy varbinárissá konvertál, az adatok a bal oldalon lesznek kipárnázva vagy csonkítva. A padding hexadecimális nullákkal érhető el.
Az adatok bináris és varbináris adattípusokká alakítása akkor hasznos, ha a bináris adatok a legegyszerűbben mozognak az adatok között. Előfordulhat, hogy egy értéktípust elég nagy méretű bináris értékké alakít át, majd visszaalakítanak. Ez az átalakítás mindig ugyanazt az értéket eredményezi, ha mindkét átalakítás ugyanazon az SQL Server-verzión történik. Egy érték bináris ábrázolása verzióról verzióra válthat az SQL Serverben.
Az int, a smallint és a tinyintbinárissá vagy varbinárissá alakítható. Ha a bináris értéket visszaalakítjuk egész értékre, ez az érték eltér az eredeti egész értéktől, ha csonkítás történt. Az alábbi SELECT utasítás például azt mutatja, hogy az egész szám bináris 123456 értékként 0x0001e240van tárolva:
SELECT CAST( 123456 AS BINARY(4) );
Az alábbi SELECT utasítás azonban azt mutatja, hogy ha a bináris cél túl kicsi a teljes érték tárolásához, a rendszer csendben csonkolja a kezdő számjegyeket, hogy ugyanazt a számot a következő módon 0xe240tárolja:
SELECT CAST( 123456 AS BINARY(2) );
Az alábbi köteg azt mutatja, hogy ez a csendes csonkolás hiba nélkül befolyásolhatja az aritmetikai műveleteket:
DECLARE @BinaryVariable2 BINARY(2);
SET @BinaryVariable2 = 123456;
SET @BinaryVariable2 = @BinaryVariable2 + 1;
SELECT CAST( @BinaryVariable2 AS INT);
GO
A végeredmény nem 57921123457.
Note
Az adattípusok és a bináris adattípusok közötti konverziók nem garantáltan megegyeznek az SQL Server verziói között.