Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Binaire gegevenstypen van vaste lengte of variabele lengte.
Arguments
binair [ ( n ) ]
Binaire gegevens met vaste lengte met een lengte van n bytes, waarbij n een waarde is van 1 tot en met 8.000. De opslaggrootte is n bytes.
varbinary [ ( n | max ) ]
Binaire gegevens met variabele lengte. n kan een waarde zijn van 1 tot en met 8.000. max geeft aan dat de maximale opslaggrootte 2^31-1 bytes is. De opslaggrootte is de werkelijke lengte van de ingevoerde gegevens + 2 bytes. De ingevoerde gegevens kunnen 0 bytes lang zijn. Het ANSI SQL-synoniem voor varbinary is binair verschillend.
Remarks
De standaardlengte is 1 wanneer n niet is opgegeven in een gegevensdefinitie- of variabeledeclaratie-instructie. Wanneer n niet is opgegeven met de CAST functie, is de standaardlengte 30.
| Data type | Gebruiken wanneer ... |
|---|---|
| binary | de grootte van de kolomgegevensvermeldingen consistent zijn. |
| varbinary | de grootte van de kolomgegevensgegevens varieert aanzienlijk. |
| varbinary(max) | de kolomgegevensvermeldingen overschrijden 8.000 bytes. |
Binaire en varbinaire gegevens converteren
Wanneer u gegevens van een gegevenstype tekenreeks converteert naar een binair of varbinair gegevenstype van ongelijke lengte, worden de gegevens aan de rechterkant afgekapt of afgekapt. Deze tekenreeksgegevenstypen zijn:
- char
- varchar
- nchar
- nvarchar
- binary
- varbinary
- text
- ntext
- image
Wanneer andere gegevenstypen worden geconverteerd naar binair of varbinair, worden de gegevens aan de linkerkant opgevuld of afgekapt. Opvulling wordt bereikt met behulp van hexadecimale nullen.
Het converteren van gegevens naar de binaire en varbinaire gegevenstypen is handig als binaire gegevens de eenvoudigste manier zijn om gegevens te verplaatsen. Op een bepaald moment kunt u een waardetype converteren naar een binaire waarde van groot genoeg en vervolgens weer converteren. Deze conversie resulteert altijd in dezelfde waarde als beide conversies plaatsvinden op dezelfde versie van SQL Server. De binaire weergave van een waarde kan veranderen van versie in versie van SQL Server.
U kunt int, smallint en tinyint converteren naar binair of varbinair. Als u de binaire waarde weer converteert naar een geheel getal, is deze waarde anders dan de oorspronkelijke gehele waarde als afkapping is opgetreden. In de volgende SELECT-instructie ziet u bijvoorbeeld dat de waarde 123456 van het gehele getal wordt opgeslagen als een binair getal 0x0001e240:
SELECT CAST( 123456 AS BINARY(4) );
De volgende SELECT instructie geeft echter aan dat als het binaire doel te klein is om de volledige waarde te bevatten, de voorloopcijferen op de achtergrond worden afgekapt, zodat hetzelfde getal wordt opgeslagen als 0xe240:
SELECT CAST( 123456 AS BINARY(2) );
In de volgende batch ziet u dat deze stille afkapping van invloed kan zijn op rekenkundige bewerkingen zonder dat er een fout optreedt:
DECLARE @BinaryVariable2 BINARY(2);
SET @BinaryVariable2 = 123456;
SET @BinaryVariable2 = @BinaryVariable2 + 1;
SELECT CAST( @BinaryVariable2 AS INT);
GO
Het uiteindelijke resultaat is 57921, niet 123457.
Note
Conversies tussen elk gegevenstype en de binaire gegevenstypen zijn niet gegarandeerd hetzelfde tussen versies van SQL Server.
Limitations
Momenteel wordt in Microsoft Fabric alleen varbinary(n) ondersteund. De binaire en varbinary(max)-gegevenstypen worden niet ondersteund.