Καταργήστε τα κύρια μηδενικά στην SQL

Katargeste Ta Kyria Medenika Sten Sql



Όταν ασχολείστε με δεδομένα του πραγματικού κόσμου, είναι συχνά ακατάστατα και βρώμικα. Αυτό σημαίνει ότι μπορεί να περιέχει περιττά ή μη έγκυρα δεδομένα που μπορεί να εμποδίσουν τις λειτουργίες και τις εργασίες που επιθυμούμε να εκτελέσουμε σε αυτό.

Ένα από τα πιο κοινά ακάθαρτα δεδομένα που μπορεί να συναντήσετε είναι αυτό όπου τα δεδομένα περιέχουν μηδενικά αρχικά σε αριθμητικά δεδομένα ή δεδομένα συμβολοσειρών. Αυτό μπορεί να συμβεί κατά την εισαγωγή των δεδομένων από εξωτερικές πηγές ή τη χρήση τεχνικών αυτοματοποιημένης συλλογής δεδομένων.

Η εισαγωγή μηδενικών στα δεδομένα μπορεί να είναι προβληματική, ειδικά όταν έχουμε να κάνουμε με αριθμητικές τιμές που αποθηκεύονται ως συμβολοσειρές.







Σε αυτόν τον οδηγό, θα συζητήσουμε όλες τις μεθόδους και τις τεχνικές που μπορούμε να χρησιμοποιήσουμε για να αφαιρέσουμε τυχόν μηδενικά αρχικά μέσα σε ένα σύνολο δεδομένων SQL.



Δείγμα ρύθμισης δεδομένων

Πριν βουτήξουμε στις εφαρμογές και τα παραδείγματα, ας ξεκινήσουμε δημιουργώντας ένα βασικό σύνολο δεδομένων που θα σας βοηθήσει να δείξουμε την εμφάνιση μηδενικών αρχών.



Εξετάστε τον πίνακα ενός υπαλλήλου με τα δεδομένα όπως φαίνεται παρακάτω:





Υπάλληλος ΔΗΜΙΟΥΡΓΗΣΗΣ ΠΙΝΑΚΑ (
EmployeeID VARCHAR(10)
)
INSERT INTO Employee (EmployeeID) ΤΙΜΕΣ
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

Σε αυτήν την περίπτωση, το αναγνωριστικό υπαλλήλου είναι τύπου «varchar». Ωστόσο, οι τιμές περιέχουν μηδενικά.

Ας εξερευνήσουμε τις μεθόδους που μπορούμε να χρησιμοποιήσουμε για να αφαιρέσουμε αυτά τα μηδενικά.



Χρήση της λειτουργίας CAST

Μία από τις μεθόδους αφαίρεσης οποιωνδήποτε μηδενικών αρχών είναι η μετατροπή της συμβολοσειράς σε αριθμητικό τύπο. Μπορούμε να χρησιμοποιήσουμε μια συνάρτηση όπως CAST ή CONVERT() όπως φαίνεται στο ακόλουθο παράδειγμα:

SELECT CAST(EmployeeID AS INT) AS EmployeeIDWithoutZeros
ΑΠΟ Υπάλληλο?

Αυτό θα πρέπει να λειτουργεί αυτόματα σε βάσεις δεδομένων που υποστηρίζουν τη συνάρτηση cast().

Ωστόσο, σε βάσεις δεδομένων όπως η MySQL, ίσως χρειαστεί να μεταφέρετε τη συνάρτηση στη συνάρτηση περικοπής για να αφαιρέσετε πραγματικά τα μηδενικά. Στη συνέχεια, μπορείτε να μετατρέψετε τις τιμές σε αριθμητικό τύπο όπως φαίνεται στο ακόλουθο παράδειγμα:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS SIGNED) AS EmployeeIDWithoutZeros
ΑΠΟ Υπάλληλο?

Η έξοδος που προκύπτει είναι η εξής:

Χρήση της συνάρτησης LTRIM

Η πιο κοινή και ισχυρή μέθοδος που μπορείτε να χρησιμοποιήσετε για να αφαιρέσετε τυχόν μηδενικά στην αρχή είναι η χρήση της συνάρτησης LTRIM(). Αυτή η συνάρτηση μας επιτρέπει να αφαιρέσουμε οποιονδήποτε κύριο κενό χαρακτήρα σε μια δεδομένη συμβολοσειρά.

Ωστόσο, δεν μας επιτρέπει να καθορίσουμε τον συγκεκριμένο χαρακτήρα που θέλουμε να αφαιρέσουμε. Στην περίπτωσή μας, μπορούμε να το χρησιμοποιήσουμε αφαιρώντας τα μηδενικά που προηγούνται από μια συμβολοσειρά.

Ένα παράδειγμα είναι το εξής:

SELECT LTRIM(EmployeeID, '0') AS EmployeeIDWithoutZeros
ΑΠΟ Υπάλληλο?

Αυτό θα πρέπει να αφαιρέσει τους αρχικούς μηδενικούς χαρακτήρες από τη συμβολοσειρά.

συμπέρασμα

Σε αυτό το σεμινάριο, εξερευνήσαμε δύο κύριες μεθόδους που μπορούμε να χρησιμοποιήσουμε για να αφαιρέσουμε τυχόν αρχικούς μηδενικούς χαρακτήρες από μια δεδομένη συμβολοσειρά/στήλη.