Sekretess & Cookies
denna webbplats använder cookies. Genom att fortsätta godkänner du deras användning. Läs mer, inklusive hur du kontrollerar cookies.
kontrollsumma är fast längd beräknat värde. Det används för att upptäcka oavsiktliga fel i dataöverföringen.
vanligtvis används en algoritm för att beräkna kontrollsummans värde och varje algoritm är utformad för ett specifikt mål.
Kontrollsummafunktioner eller algoritmer är relaterade till hashfunktioner, fingeravtryck, randomiseringsfunktioner och kryptografiska hashfunktioner
få kontrollsummaalgoritmer
- Paritetsbyte
- Modulsumma
- Positionsberoende kontrollsummor
kontrollsumma ()-funktion – SQL Server
denna hashfunktion används för att beräkna kontrollsummans värde för en hel rad eller lista med uttryck eller kolumner. Den returnerar ett beräknat heltal.
kontrollsummargument är * för att beräkna kontrollsummans värde för hela raden eller specifika kolumner eller uttryck separerade med kommatecken med giltiga datatyper.
ogiltiga datatyper är text, ntext, bild, XML och markör, och även sql_variant.
genomförande
0. Beräkna kontrollsumma för NULL-värde.
1. Beräkna kontrollsumma med uttryck
Välj kontrollsumma (’SQL’, ’Server’,’Rider’)
utgång: -1450562993
2. Beräkna kontrollsumma med hjälp av specifika kolumner i Adventureworks tabell.
3. Beräkna kontrollsumma för hela raden
denna kontrollsumma funktion kan användas i datalager för att upptäcka förändringar i en rad. Men kontrollsumman () kan returnera samma värde för två olika argument. Eftersom checksum () – algoritmen beräknar några bitar i en byte och ger oss bara 4 byte (heltal) värde från för hela data. Så möjligheterna att få kollision eller dubbletter är höga.
egentligen är CHECKSUM avsedd att användas för att bygga hash index i SQL Server.
denna fråga har förklarats mycket tydligt i en annan blogg. Du kan hänvisa kontrollsumma svaghet förklaras.
SQL Server har annan hashfunktion som CHECKSUM_AGG (),HASHBYTES () och
BINARY_CHECKSUM (). Jag kommer att förklara om dessa funktioner i mitt nästa blogginlägg.