sql >> Database >  >> RDS >> Sqlserver

SQL Server:Null VS lege string

Er is een mooi artikel hier die dit punt bespreekt. De belangrijkste dingen om mee te nemen zijn dat er geen verschil is in tabelgrootte, maar sommige gebruikers geven er de voorkeur aan een lege tekenreeks te gebruiken, omdat dit het zoeken gemakkelijker kan maken omdat er geen NULL-controle hoeft te worden uitgevoerd. Je controleert gewoon of de string leeg is. Een ander ding om op te merken is wat NULL betekent in de context van een relationele database. Dit betekent dat de aanwijzer naar het tekenveld is ingesteld op 0x00 in de kop van de rij, dus geen toegang tot gegevens.

Bijwerken Er is een gedetailleerd artikel hier die praat over wat er feitelijk gebeurt op een rij

het resultaat van DBCC PAGE laat zien dat zowel NULL als lege strings beide nul bytes in beslag nemen .



  1. Analoog van OUTER APPLY in andere RDBMS (niet SQL Server)

  2. gegevens invoegen van de ene tabel naar de andere in mysql

  3. Getallen opmaken door opvulling met voorloopnullen in SQL Server

  4. Alle historische records retourneren voor accounts met wijziging in specifieke bijbehorende waarde