Pašalinkite pirmaujančius nulius iš SQL

Pasalinkite Pirmaujancius Nulius Is Sql



Kai dirbate su realaus pasaulio duomenimis, jie dažnai būna netvarkingi ir nešvarūs. Tai reiškia, kad jame gali būti nereikalingų arba neteisingų duomenų, kurie gali trukdyti atlikti operacijas ir užduotis, kurias norime atlikti.

Vienas iš dažniausiai pasitaikančių nešvarių duomenų, su kuriais galite susidurti, yra tie, kurių skaitiniuose arba eilutėse pateikiami pirmieji nuliai. Taip gali nutikti importuojant duomenis iš išorinių šaltinių arba naudojant automatizuotus duomenų rinkimo būdus.

Duomenų nuliai priekyje gali būti problemiški, ypač kai kalbama apie skaitines reikšmes, kurios saugomos kaip eilutės.







Šiame vadove aptarsime visus metodus ir metodus, kuriuos galime naudoti norėdami pašalinti visus pirmuosius nulius iš SQL duomenų rinkinio.



Duomenų sąrankos pavyzdys

Prieš pasinerdami į programas ir pavyzdžius, pradėkime nustatydami pagrindinį duomenų rinkinį, kuris padės parodyti pirmaujančių nulių atsiradimą.



Apsvarstykite darbuotojo lentelę su duomenimis, kaip parodyta toliau:





KURTI LENTELĘ Darbuotojas (
Darbuotojo ID VARCHAR (10)
);
INSERT INTO Darbuotojo (EmployeeID) VERTYBĖS
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

Šiuo atveju darbuotojo ID yra „varchar“ tipo. Tačiau reikšmėse yra priešakiniai nuliai.

Išnagrinėkime metodus, kuriais galime pašalinti šiuos pirmuosius nulius.



Naudojant CAST funkciją

Vienas iš pirmųjų nulių pašalinimo būdų yra konvertuoti eilutę į skaitinį tipą. Galime naudoti tokią funkciją kaip CAST arba CONVERT (), kaip parodyta šiame pavyzdyje:

PASIRINKITE CAST (Darbuotojo ID AS INT) AS Darbuotojo ID be nulių
IŠ Darbuotojo;

Tai turėtų veikti automatiškai duomenų bazėse, kurios palaiko cast() funkciją.

Tačiau tokiose duomenų bazėse kaip MySQL gali tekti perjungti funkciją į apkarpymo funkciją, kad iš tikrųjų pašalintumėte pirmuosius nulius. Tada galite konvertuoti reikšmes į skaitinį tipą, kaip parodyta šiame pavyzdyje:

PASIRINKTI CAST(TRIM(VEDANTIS '0' FROM EmployeeID) KAIP PASIRAŠYTA) KAIP Darbuotojo ID be nulių
IŠ Darbuotojo;

Gauta išvestis yra tokia:

Naudojant LTRIM funkciją

Labiausiai paplitęs ir efektyviausias metodas, kurį galite naudoti norėdami pašalinti bet kokius nulius priekyje, yra funkcijos LTRIM() naudojimas. Ši funkcija leidžia pašalinti visus pirmuosius tarpo simbolius tam tikroje eilutėje.

Tačiau tai neleidžia mums nurodyti konkretaus simbolio, kurį norime pašalinti. Mūsų atveju mes galime jį naudoti pašalindami pirmuosius nulius iš eilutės.

Pavyzdys yra toks:

SELECT LTRIM (darbuotojo ID, '0') AS darbuotojo ID be nulių
IŠ Darbuotojo;

Tai turėtų pašalinti iš eilutės pirmuosius nulio simbolius.

Išvada

Šiame vadove mes ištyrėme du pagrindinius metodus, kuriuos galime naudoti norėdami pašalinti bet kokius pirmuosius nulio simbolius iš nurodytos eilutės / stulpelio.