Odstranite vodilne ničle v SQL

Odstranite Vodilne Nicle V Sql



Ko imamo opravka s podatki iz resničnega sveta, so pogosto neurejeni in umazani. To pomeni, da lahko vsebuje nepotrebne ali neveljavne podatke, ki lahko ovirajo operacije in naloge, ki jih želimo izvajati na njem.

Eden najpogostejših nečistih podatkov, na katere lahko naletite, je tisti, pri katerem podatki vsebujejo vodilne ničle v številskih ali nizovih podatkih. To se lahko zgodi pri uvozu podatkov iz zunanjih virov ali uporabi avtomatiziranih tehnik zbiranja podatkov.

Začetne ničle v podatkih so lahko problematične, zlasti pri obravnavanju številskih vrednosti, ki so shranjene kot nizi.







V tem priročniku bomo razpravljali o vseh metodah in tehnikah, ki jih lahko uporabimo za odstranitev začetnih ničel v naboru podatkov SQL.



Vzorčna nastavitev podatkov

Preden se poglobimo v aplikacije in primere, začnimo z nastavitvijo osnovnega nabora podatkov, ki bo pomagal prikazati pojav začetnih ničel.



Razmislite o tabeli zaposlenih s podatki, kot je prikazano v nadaljevanju:





USTVARI TABELO Zaposleni (
EmployeeID VARCHAR(10)
);
INSERT INTO Employee (EmployeeID) VREDNOSTI
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

V tem primeru je ID zaposlenega tipa »varchar«. Vendar pa vrednosti vsebujejo vodilne ničle.

Raziščimo metode, s katerimi lahko odstranimo te vodilne ničle.



Uporaba funkcije CAST

Eden od načinov za odstranitev začetnih ničel je pretvorba niza v številski tip. Uporabimo lahko funkcijo, kot je CAST ali CONVERT(), kot je prikazano v naslednjem primeru:

IZBERI CAST(EmployeeID AS INT) AS EmployeeIDWithoutZeros
OD zaposlenega;

To bi moralo delovati samodejno v zbirkah podatkov, ki podpirajo funkcijo cast().

Vendar pa boste v podatkovnih zbirkah, kot je MySQL, morda morali prenesti funkcijo na trim funkcijo, da dejansko odstranite vodilne ničle. Nato lahko vrednosti pretvorite v številsko vrsto, kot je prikazano v naslednjem primeru:

IZBERI CAST(OBREZI(ZAČE '0' OD EmployeeID) KOT PODPISANO) KOT EmployeeIDWithoutZeros
OD zaposlenega;

Rezultat je naslednji:

Uporaba funkcije LTRIM

Najpogostejša in zmogljiva metoda, ki jo lahko uporabite za odstranitev začetnih ničel, je uporaba funkcije LTRIM(). Ta funkcija nam omogoča, da odstranimo vse vodilne presledke v danem nizu.

Vendar nam ne dovoljuje, da določimo določen znak, ki ga želimo odstraniti. V našem primeru ga lahko uporabimo tako, da iz niza odstranimo vodilne ničle.

Primer je naslednji:

IZBERI LTRIM(EmployeeID, '0') AS EmployeeIDWithoutZeros
OD zaposlenega;

S tem bi morali iz niza odstraniti znake začetne ničle.

Zaključek

V tej vadnici smo raziskali dve glavni metodi, ki ju lahko uporabimo za odstranitev začetnih znakov ničle iz danega niza/stolpca.