Eemaldage SQL-ist juhtivad nullid

Eemaldage Sql Ist Juhtivad Nullid



Reaalmaailma andmetega tegelemisel on need sageli segased ja räpased. See tähendab, et see võib sisaldada mittevajalikke või kehtetuid andmeid, mis võivad takistada toiminguid ja ülesandeid, mida me sellega teha tahame.

Üks levinumaid ebapuhtaid andmeid, millega võite kokku puutuda, on see, kus andmed sisaldavad numbri- või stringandmetes eesnulle. See võib juhtuda andmete importimisel välistest allikatest või automatiseeritud andmekogumistehnikate kasutamisel.

Esinullide sisestamine andmetes võib olla problemaatiline, eriti stringidena salvestatud arvväärtuste käsitlemisel.







Selles juhendis käsitleme kõiki meetodeid ja tehnikaid, mida saame kasutada SQL-i andmestiku algusnullide eemaldamiseks.



Andmete seadistuse näidis

Enne rakendustesse ja näidetesse sukeldumist alustame põhiandmestiku seadistamisega, mis aitab näidata esinullide esinemist.



Mõelge töötajate tabelile andmetega, nagu on näidatud järgmiselt:





LOO TABEL Töötaja (
Töötaja ID VARCHAR(10)
);
INSERT INTO Töötaja (EmployeeID) VÄÄRTUSED
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

Sel juhul on töötaja ID 'varchar' tüüpi. Väärtused sisaldavad aga eesnulle.

Uurime meetodeid, mida saame nende esinullide eemaldamiseks kasutada.



Funktsiooni CAST kasutamine

Üks eesolevate nullide eemaldamise viise on stringi teisendamine numbritüübiks. Saame kasutada sellist funktsiooni nagu CAST või CONVERT(), nagu on näidatud järgmises näites:

SELECT CAST(EmployeeID AS INT) AS TöötajaIDWithoutZeros
FROM Töötaja;

See peaks toimima automaatselt andmebaasides, mis toetavad funktsiooni cast().

Kuid sellistes andmebaasides nagu MySQL peate võib-olla juhtnullide eemaldamiseks funktsiooni kärpimisfunktsioonile portima. Seejärel saate teisendada väärtused numbritüüpideks, nagu on näidatud järgmises näites:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS ALLKIRJATUD) AS Töötaja ID Ilma nullita
FROM Töötaja;

Saadud väljund on järgmine:

Funktsiooni LTRIM kasutamine

Kõige tavalisem ja võimsam meetod, mida saate kasutada eesolevate nullide eemaldamiseks, on funktsiooni LTRIM() kasutamine. See funktsioon võimaldab meil eemaldada antud stringist kõik eesmised tühimärgid.

Kuid see ei võimalda meil määrata konkreetset märki, mida soovime eemaldada. Meie puhul saame seda kasutada, eemaldades stringist eesmised nullid.

Näide on järgmine:

SELECT LTRIM(TöötajaID, '0') AS TöötajaIDWithoutZeros
FROM Töötaja;

See peaks eemaldama stringist algavad nullmärgid.

Järeldus

Selles õpetuses uurisime kahte peamist meetodit, mille abil saame eemaldada kõik etteantud stringist/veerust algavad nullmärgid.