Odeberte úvodní nuly v SQL

Odeberte Uvodni Nuly V Sql



Při práci s reálnými daty je to často chaotické a špinavé. To znamená, že může obsahovat zbytečná nebo neplatná data, která mohou bránit operacím a úkolům, které na něm chceme provádět.

Jedním z nejběžnějších nečistých dat, se kterými se můžete setkat, je to, kdy data obsahují úvodní nuly v číselných nebo řetězcových datech. K tomu může dojít při importu dat z externích zdrojů nebo při použití technik automatizovaného sběru dat.

Úvodní nuly v datech mohou být problematické zejména při práci s číselnými hodnotami, které jsou uloženy jako řetězce.







V této příručce probereme všechny metody a techniky, které můžeme použít k odstranění jakýchkoli úvodních nul v datové sadě SQL.



Ukázkové nastavení dat

Než se ponoříme do aplikací a příkladů, začněme nastavením základní datové sady, která pomůže demonstrovat výskyt úvodních nul.



Zvažte tabulku zaměstnance s daty, jak je uvedeno níže:





VYTVOŘIT TABULKU Zaměstnanec (
ID zaměstnance VARCHAR(10)
);
VLOŽTE DO HODNOT zaměstnance (ID zaměstnance).
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

V tomto případě je ID zaměstnance typu „varchar“. Hodnoty však obsahují úvodní nuly.

Pojďme prozkoumat metody, které můžeme použít k odstranění těchto úvodních nul.



Použití funkce CAST

Jednou z metod odstranění úvodních nul je převedení řetězce na číselný typ. Můžeme použít funkci, jako je CAST nebo CONVERT(), jak je ukázáno v následujícím příkladu:

SELECT CAST(EmployeeID AS INT) AS EmployeeIDWithout Zeros
OD zaměstnance;

To by mělo fungovat automaticky v databázích, které podporují funkci cast().

V databázích, jako je MySQL, však možná budete muset přenést funkci do funkce trim, abyste skutečně odstranili úvodní nuly. Hodnoty pak můžete převést na číselný typ, jak ukazuje následující příklad:

VYBERTE OBSAZENO (TRIM (VEDOUCÍ '0' Z ID Zaměstnance) JAKO PODPIS) JAKO ID zaměstnanceBez nul
OD zaměstnance;

Výsledný výstup je následující:

Použití funkce LTRIM

Nejběžnější a nejvýkonnější metodou, kterou můžete použít k odstranění jakýchkoli úvodních nul, je použití funkce LTRIM(). Tato funkce nám umožňuje odstranit jakékoli úvodní mezery v daném řetězci.

Neumožňuje nám však specifikovat konkrétní znak, který chceme odstranit. V našem případě jej můžeme použít odstraněním úvodních nul z řetězce.

Příklad je následující:

SELECT LTRIM(EmployeeID, '0') AS EmployeeIDWithout Nula
OD zaměstnance;

To by mělo z řetězce odstranit úvodní nulové znaky.

Závěr

V tomto tutoriálu jsme prozkoumali dvě hlavní metody, které můžeme použít k odstranění jakýchkoli počátečních nulových znaků z daného řetězce/sloupce.