Uklonite vodeće nule u SQL-u

Uklonite Vodece Nule U Sql U



Kad se radi o podacima iz stvarnog svijeta, često je neuredno i prljavo. To znači da može sadržavati nepotrebne ili nevažeće podatke koji mogu ometati operacije i zadatke koje na njemu želimo izvršiti.

Jedan od najčešćih nečistih podataka s kojima se možete susresti je onaj gdje podaci sadrže početne nule u numeričkim ili znakovnim podacima. To se može dogoditi prilikom uvoza podataka iz vanjskih izvora ili korištenja tehnika automatiziranog prikupljanja podataka.

Nule na početku podataka mogu biti problematične, posebno kada se radi o numeričkim vrijednostima koje su pohranjene kao nizovi.







U ovom ćemo vodiču raspravljati o svim metodama i tehnikama koje možemo upotrijebiti za uklanjanje svih vodećih nula unutar skupa SQL podataka.



Postavljanje uzorka podataka

Prije nego što zaronimo u primjene i primjere, započnimo s postavljanjem osnovnog skupa podataka koji će nam pomoći da pokažemo pojavu vodećih nula.



Razmotrite tablicu zaposlenika s podacima kao što je prikazano u nastavku:





STVARANJE TABLICE Zaposlenik (
ID zaposlenika VARCHAR(10)
);
INSERT INTO Employee (EmployeeID) VRIJEDNOSTI
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

U ovom slučaju, ID zaposlenika je tipa 'varchar'. Međutim, vrijednosti sadrže početne nule.

Istražimo metode koje možemo koristiti za uklanjanje ovih vodećih nula.



Korištenje funkcije CAST

Jedna od metoda uklanjanja vodećih nula je pretvaranje niza u numerički tip. Možemo koristiti funkciju kao što je CAST ili CONVERT() kao što je prikazano u sljedećem primjeru:

SELECT CAST(EmployeeID AS INT) AS EmployeeIDWithoutZeros
OD Zaposlenik;

Ovo bi trebalo raditi automatski u bazama podataka koje podržavaju funkciju cast().

Međutim, u bazama podataka kao što je MySQL, možda ćete morati prebaciti funkciju na trim funkciju da biste zapravo uklonili početne nule. Zatim možete pretvoriti vrijednosti u numeričku vrstu kao što je prikazano u sljedećem primjeru:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS SIGNED) AS EmployeeIDWithoutZeros
OD Zaposlenik;

Rezultirajući izlaz je sljedeći:

Korištenje LTRIM funkcije

Najčešća i moćna metoda koju možete upotrijebiti za uklanjanje vodećih nula je korištenje funkcije LTRIM(). Ova nam funkcija omogućuje uklanjanje svih znakova razmaka na početku u zadanom nizu.

Međutim, ne dopušta nam da odredimo određeni znak koji želimo ukloniti. U našem slučaju, možemo ga koristiti uklanjanjem vodećih nula iz niza.

Primjer je sljedeći:

SELECT LTRIM(EmployeeID, '0') AS EmployeeIDWithoutZeros
OD Zaposlenik;

Ovo bi trebalo ukloniti početne nulte znakove iz niza.

Zaključak

U ovom vodiču istražili smo dvije glavne metode koje možemo upotrijebiti za uklanjanje svih znakova nule na početku iz zadanog niza/stupca.