Fjern de ledende nullene i SQL

Fjern De Ledende Nullene I Sql



Når du arbeider med data fra den virkelige verden, er det ofte rotete og skittent. Dette betyr at den kan inneholde unødvendige eller ugyldige data som kan hindre operasjonene og oppgavene vi ønsker å utføre på den.

En av de vanligste urene dataene du kan støte på, er den der dataene inneholder innledende nuller i numeriske eller strengdata. Dette kan skje når du importerer data fra eksterne kilder eller bruker automatiserte datainnsamlingsteknikker.

Førende nuller i data kan være problematisk, spesielt når man arbeider med numeriske verdier som er lagret som strenger.







I denne veiledningen vil vi diskutere alle metodene og teknikkene vi kan bruke for å fjerne eventuelle innledende nuller i et SQL-datasett.



Eksempel på dataoppsett

Før vi dykker ned i applikasjonene og eksemplene, la oss starte med å sette opp et grunnleggende datasett som vil bidra til å demonstrere forekomsten av innledende nuller.



Vurder en ansatts tabell med dataene som vist i følgende:





OPPRETT BORD Ansatt (
Ansatt-ID VARCHAR(10)
);
SETT INN I Verdier for ansatt (medarbeider-ID).
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

I dette tilfellet er ansatt-ID-en av typen 'varchar'. Verdiene inneholder imidlertid innledende nuller.

La oss utforske metodene vi kan bruke for å fjerne disse innledende nullene.



Bruke CAST-funksjonen

En av metodene for å fjerne eventuelle innledende nuller er å konvertere strengen til en numerisk type. Vi kan bruke en funksjon som CAST eller CONVERT() som vist i følgende eksempel:

VELG CAST(Ansatt-ID AS INT) AS Ansatt-IDUtennuller
FRA Ansatt;

Dette skal fungere automatisk i databaser som støtter cast()-funksjonen.

I databaser som MySQL kan det imidlertid hende du må portere funksjonen til trimfunksjonen for å faktisk fjerne de innledende nullene. Du kan deretter konvertere verdiene til numerisk type som vist i følgende eksempel:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS SIGNED) AS EmployeeIDUtenZeros
FRA Ansatt;

Den resulterende utgangen er som følger:

Bruke LTRIM-funksjonen

Den vanligste og kraftigste metoden du kan bruke for å fjerne innledende nuller, er å bruke LTRIM()-funksjonen. Denne funksjonen lar oss fjerne eventuelle ledende mellomromstegn i en gitt streng.

Det tillater oss imidlertid ikke å spesifisere det spesifikke tegnet vi ønsker å fjerne. I vårt tilfelle kan vi bruke det ved å fjerne de innledende nullene fra en streng.

Et eksempel er som følger:

VELG LTRIM(ansatt-ID, '0') AS ansatt-IDUtennuller
FRA Ansatt;

Dette bør fjerne de innledende nulltegnene fra strengen.

Konklusjon

I denne opplæringen utforsket vi to hovedmetoder som vi kan bruke for å fjerne eventuelle innledende nulltegn fra en gitt streng/kolonne.