Huvudskillnad: I databassystem som SQL Server, Char och Varchar är båda datatyper där char faktiskt hänvisar till tecken och Varchar hänvisar till variabel karaktär. De båda används för att lagra strängtyp av värden med en maximal längd på 8 000 tecken. Lagringsstorleken för char är densamma som deklarerat medan steg sixe av Varchar beror på byte av de faktiska data som angivits.
Låt oss ta ett exempel - om en Char-data förklaras på ett sätt: deklarera test Char (20) och test = "test", då kommer testet att uppta första 7 byte och vilan fylls med tomma data. Å andra sidan, om en Varchar-data förklaras på ett sätt: deklarera test Varchar (20) och test = "test", då kommer det att uppta endast 7 + 2 byte.
Char bör användas när längden på variabeln är känd, medan Varchar endast ska användas när längden är okänd. Char är snabbare än Varchar, eftersom Varchar-systemet spenderar tid för att upptäcka tiden för att ta reda på slutet av strängen. Å andra sidan är denna tid inte bortkastad i Char.
Jämförelse mellan Char och Varchar:
Röding | Varchar | |
Fulla formen | Karaktär | Variabel karaktär (i sammanhang med karaktär av variabel längd) |
Menande | Används för att lagra icke-Unicode-strängdata med fast längd | Används för att lagra icke-Unicode-strängdata av variabel längd |
Bytes används för lagring | 1 byte per tecken | 1 byte per tecken och 1 eller 2 byte extra för att hålla längdinformation |
Ansökan | Används för att lagra data som Telefonnummer etc. (datainmatningarna är konsekventa.) | Används för att lagra data som Adress (dataposter varierar i stor utsträckning) |
Skick: Inmatningssträng mindre än deklarerade byte | Utrymmet utan något tecken kommer att vara vadderat med mellanslag | Utrymmet utan något tecken kommer inte att polstras med någon av tecknen |
Skick: Ange strängen mer än deklarerade byte | Strängen kommer att styras till deklarerade byte | Strängen kommer att styras till deklarerade byte. |