Verwijder de voorloopnullen in SQL

Verwijder De Voorloopnullen In Sql



Bij het omgaan met gegevens uit de echte wereld is het vaak rommelig en vies. Dit betekent dat het onnodige of ongeldige gegevens kan bevatten die de bewerkingen en de taken die we erop willen uitvoeren kunnen belemmeren.

Een van de meest voorkomende onzuivere gegevens die u kunt tegenkomen, is die waarbij de gegevens voorloopnullen bevatten in numerieke of tekenreeksgegevens. Dit kan gebeuren bij het importeren van de gegevens uit externe bronnen of bij het gebruik van geautomatiseerde gegevensverzamelingstechnieken.

Voorloopnullen in gegevens kunnen problematisch zijn, vooral als het gaat om numerieke waarden die als tekenreeksen zijn opgeslagen.







In deze handleiding bespreken we alle methoden en technieken die we kunnen gebruiken om voorloopnullen binnen een SQL-dataset te verwijderen.



Voorbeeldgegevens instellen

Voordat we ingaan op de toepassingen en voorbeelden, moeten we eerst een basisdataset opzetten die zal helpen het voorkomen van voorloopnullen aan te tonen.



Beschouw een werknemerstabel met de gegevens zoals hieronder weergegeven:





TABEL MAKEN Medewerker (
WerknemerID VARCHAR(10)
);
INSERT IN WAARDEN VOOR WAARDEN VOOR WERKNEMER (EmployeeID).
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

In dit geval is de werknemers-ID van het type “varchar”. De waarden bevatten echter voorloopnullen.

Laten we eens kijken naar de methoden die we kunnen gebruiken om deze voorloopnullen te verwijderen.



De CAST-functie gebruiken

Een van de methoden om voorloopnullen te verwijderen is door de tekenreeks naar een numeriek type te converteren. We kunnen een functie zoals CAST of CONVERT() gebruiken, zoals gedemonstreerd in het volgende voorbeeld:

SELECTEER CAST(WerknemerID AS INT) ALS WerknemerIDZonderNul
VAN Medewerker;

Dit zou automatisch moeten werken in databases die de functie cast() ondersteunen.

In databases zoals MySQL moet u de functie echter mogelijk overzetten naar de trimfunctie om de voorloopnullen daadwerkelijk te verwijderen. U kunt de waarden vervolgens omzetten in een numeriek type, zoals wordt gedemonstreerd in het volgende voorbeeld:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS SIGNED) AS EmployeeIDWithoutNullen
VAN Medewerker;

De resulterende uitvoer is als volgt:

De LTRIM-functie gebruiken

De meest gebruikelijke en krachtige methode die u kunt gebruiken om voorloopnullen te verwijderen, is het gebruik van de functie LTRIM(). Met deze functie kunnen we alle voorafgaande witruimtetekens in een bepaalde string verwijderen.

Het staat ons echter niet toe om het specifieke teken te specificeren dat we willen verwijderen. In ons geval kunnen we dit gebruiken door de voorloopnullen uit een string te verwijderen.

Een voorbeeld is als volgt:

SELECTEER LTRIM(WerknemerID, '0') AS WerknemerIDZonderNul
VAN Medewerker;

Dit zou de voorloopnultekens uit de string moeten verwijderen.

Conclusie

In deze zelfstudie hebben we twee hoofdmethoden onderzocht die we kunnen gebruiken om eventuele voorloopnullen uit een bepaalde tekenreeks/kolom te verwijderen.