Karakter (n) vs varchar (n):
MySQL -databasen støtter to hovedtegndatatyper, i.e., varchar (n) og røye (n). For å forstå “BPCHAR” fullt ut, må vi gjennomføre både Varchar (N) og Char (N) datatyper til sammenligning. Både Varchar (N) og Char (N) datatyper kan lagre verdiene opp til "N" -lengden på tegn. La oss si at hvis du har en tabell med den ene kolonnen med char (n) datatype og den andre er varchar (n) datatype, kan du bare lagre opp til lengde “n” i disse kolonnene. Å legge til flere tegn i en kolonne enn den spesifiserte lengden vil føre deg til en feil i utførelsen.
Hva med å legge til tegn mindre enn den spesifiserte lengden for slike datatypekolonner? Varchar (n) har en fast, variabel lengde, og den vil bare gi plass til data som kreves, i.e., Hvis en variabel, er fast lengde 10 og brukeren har lagt til en verdi på 5 tegn, vil den bare gi et rom på 5 tegn og ikke mer enn det. Dette betyr at varierende karakterdatatyper kan endre plassen opp til kravene. For tegn (n) datatype har den en fast lengde. Dette betyr at hvis kolonnen har en lengde satt til 10, vil den gi plassen på 10 tegn, selv om dataene som er lagt inn av en bruker inneholder færre tegn enn den spesifiserte lengden.
BPCHAR (tom polstret tegn):
“Bpchar” er litt annerledes. Det blanke polstrede karakteren er konseptet PostgreSQL, eller Oracle brukt for karakterdatatype, i.e., Char (N). Du kan si at det er et innvendig navn for datatypen char (n). Som vi vet betyr blank tom eller hul. Akkurat slik betyr en tom polstret karakter å legge til plass, men hvor du skal legge til? Vi vil diskutere dette i den kommende forklaringen. Hvis tegnene som er lagt til av en bruker i kolonnen av Char (N) -typen er kortere enn den spesifiserte lengden “N”, vil den gi deg hele “N” -plassen. Den ekstra plassen vil være plasspadded, jeg.e., fylt med plass. Å legge til en kortere streng for varchar (n) vil bare tildele deg det nødvendige rommet. På den annen side, hvis en bruker har lagt til en verdi i karakter (n) eller varchar (n) kolonne og mer enn den spesifiserte lengden, vil PostgreSql -databasen lagre den opp til "n" -lengden for å kaste de ekstra områdene uten å kaste en feil. La oss se på et eksempel for å forstå konseptet med blank_padding -karakteren mer kort.
Eksempel:
La oss åpne PGADMIN GUI for PostgreSQL -databasen ved hjelp av Windows 10 Desktop Search Bar. Legg til serverpassordet ditt og utvid databaseseksjonen. Klikk på databasen etter eget valg, og trykk på ikonet til spørringsverktøyet. La oss først lage en tabell med navn "Test" som inneholder to kolonner, "CNAME" og "VNAME" ved hjelp av Create Table -kommandoen. Kolonnen "CNAME" er et tegn (n) datatype av lengde 20, og kolonnen "VNAME" er av VARCHAR (N) Datatype med lengde 20. Etter å ha kjørt denne spørringen, er det opprettet en tabell.
Vi brukte innsatsen i instruksjon for å legge til en enkelt post av samme lengde i begge kolonnene. Vi sammenkobler to strenger sammen med “||” skilt.
La oss velge begge kolonnene i tabellen “Test” og deres lengder i separate kolonner hentet av funksjonen “Lengde”. Vi har vist en enkelt registrering av lengde 8 for begge kolonnene på denne utførelsen.
La oss sette inn en annen post i begge kolonnene. Denne gangen har vi lagt til ekstra karakterverdier for begge kolonnene ved å bruke innsatsen i kommandoen. Som vi allerede vet, vil det å legge til flere tegn enn den spesifiserte lengden for et tegn (n) føre til en feil, som den gjorde nedenfor.
La oss redusere tegnene for "CNAME" -kolonnen til "Character (N)" -typen og utfør denne spørringen igjen. Det vil igjen kaste et unntak.
For å unngå denne feilen, har vi redusert tegnene til den spesifiserte lengden eller mindre for kolonner “CNAME” og “VNAME” for å sette inn verdiene. Spørringen fungerte og satte inn posten denne gangen.
Når vi bruker Select -instruksjonen, har vi hentet “CNAME” og “VNAME” -kolonnene sammen med deres lengder i de andre kolonnene. Det viser at vi har lagt til 10 karakterverdier for kolonnen "CNAME" og 16 tegnverdier for "VNAME" -kolonnen. Når det.
La oss prøve ut med plassverdier nå. Vi har lagt til lengdeplass mer enn 20 tegn som verdi til begge kolonnene ved å bruke innsatsen i kommandoen som nedenfor. Det har vært vellykket i henhold til produksjonen.
Ved å bruke den samme valgte instruksjonen, har vi fått den oppdaterte tabellen igjen. Selv om verdien for begge kolonnene var mer enn 20 tegn, har fortsatt "VNAME" -kolonnen bare lagret 20 karakterromsverdier. I mellomtiden tar ikke "CNAME" -kolonnen plass som en verdi og bruker den som en tom polstret. Derfor viser 0 som lengden på en verdi.
Bruk av BPCHAR -datatype:
Det kommer en situasjon når du må gjøre opp en ekstern forbindelse med databasen din. Denne eksterne tilkoblingen kan bruke en annen type datatype i stedet for å bruke den samme som databasen. La oss si at du vil koble PostgreSQL -databasen din med Spotify eller vurdere “Dremio” Cloud Server. Du må hente dataene fra PostgreSQL -databasen og bruke dem på Spotify -plattformen, og "Dremio" Cloud Server kan brukes som en databasebuffer for mange typer datatyper. Derfor må du kartlegge strengdatatypen Spotify mot "BPCHAR" -datatypen til PostgreSQL -databasen og kartlegge databasedataene dine "PostgreSQL" til "Dremio" -data. Du kan si at strengdatatypen i Spotify er et alternativ for "BPCHAR" i PostgreSQL -databasen. Dremio støtter kartleggingen av “BPCHAR” til Varchar av Dremio, char datatype til varchar, litt til boolsk, seriell til int, og mange flere sånn.
Konklusjon:
Dagens artikkel handlet om datatypen “BPCHAR”, i.e., blank polstret karakter. For å forstå begrepet “bpchar”, har vi gått gjennom sammenligningen mellom karakter (n) og varchar (n) datatyper grundig. Vi har også diskutert hvordan det blanke polstrede tegnet fungerer for et tegn (n) når tegnene er lagt til mer enn den spesifiserte lengden, mindre enn den spesifiserte lengden, og mellomrom er lagt til i kolonnene.