Eliminați zerourile principale din SQL

Eliminati Zerourile Principale Din Sql



Când aveți de-a face cu date din lumea reală, acestea sunt adesea dezordonate și murdare. Aceasta înseamnă că poate conține date inutile sau nevalide care pot împiedica operațiunile și sarcinile pe care dorim să le îndeplinim.

Una dintre cele mai frecvente date necurate pe care le puteți întâlni este cea în care datele conțin zerouri de început în date numerice sau șir. Acest lucru se poate întâmpla la importul datelor din surse externe sau la utilizarea tehnicilor de colectare automată a datelor.

Zerourile inițiale în date pot fi problematice, mai ales atunci când aveți de-a face cu valori numerice care sunt stocate ca șiruri.







În acest ghid, vom discuta toate metodele și tehnicile pe care le putem folosi pentru a elimina orice zerouri de început dintr-un set de date SQL.



Eșantion de configurare a datelor

Înainte de a ne aprofunda în aplicații și exemple, să începem prin a configura un set de date de bază care va ajuta la demonstrarea apariției zerourilor înainte.



Luați în considerare tabelul unui angajat cu datele prezentate în următoarele:





CREATE TABLE Angajat (
EmployeeID VARCHAR(10)
);
INSERT INTO Employee (EmployeeID) VALORI
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

În acest caz, ID-ul angajatului este de tip „varchar”. Cu toate acestea, valorile conțin zerouri de început.

Să explorăm metodele pe care le putem folosi pentru a elimina aceste zerouri de început.



Utilizarea funcției CAST

Una dintre metodele de eliminare a oricăror zerouri de început este conversia șirului într-un tip numeric. Putem folosi o funcție precum CAST sau CONVERT() așa cum este demonstrat în următorul exemplu:

SELECTAȚI CAST(EmployeeID AS INT) AS EmployeeIDWithoutZeros
DE LA Angajat;

Acest lucru ar trebui să funcționeze automat în bazele de date care acceptă funcția cast().

Cu toate acestea, în bazele de date precum MySQL, poate fi necesar să portați funcția la funcția de tăiere pentru a elimina efectiv zerourile de început. Apoi puteți converti valorile în tip numeric, așa cum este demonstrat în următorul exemplu:

SELECTARE CAST(TRIM(LEADING '0' FROM EmployeeID) AS SIGNAT) CA EmployeeIDWithoutZeros
DE LA Angajat;

Rezultatul rezultat este după cum urmează:

Utilizarea funcției LTRIM

Cea mai comună și puternică metodă pe care o puteți folosi pentru a elimina orice zerouri de început este utilizarea funcției LTRIM(). Această funcție ne permite să eliminăm orice caractere de spații albe de început dintr-un șir dat.

Cu toate acestea, nu ne permite să specificăm caracterul specific pe care dorim să-l eliminăm. În cazul nostru, îl putem folosi prin eliminarea zerourilor de început dintr-un șir.

Un exemplu este următorul:

SELECTAȚI LTRIM(EmployeeID, '0') AS EmployeeIDWithoutZeros
DE LA Angajat;

Acest lucru ar trebui să elimine primele zero caractere din șir.

Concluzie

În acest tutorial, am explorat două metode principale pe care le putem folosi pentru a elimina orice caractere zero de început dintr-un șir/coloană dat.