הסר את האפסים המובילים ב-SQL

Hsr T H Psym Hmwbylym B Sql



כאשר עוסקים בנתונים מהעולם האמיתי, הם לרוב מבולגנים ומלוכלכים. המשמעות היא שהוא יכול להכיל נתונים מיותרים או לא חוקיים שיכולים להפריע לפעולות ולמשימות שאנו מעוניינים לבצע בו.

אחד הנתונים הלא נקיים הנפוצים ביותר שאתה עלול להיתקל בהם הוא זה שבו הנתונים מכילים אפסים מובילים בנתונים מספריים או מחרוזים. זה יכול להתרחש בעת ייבוא ​​הנתונים ממקורות חיצוניים או שימוש בטכניקות של איסוף נתונים אוטומטי.

אפסים מובילים בנתונים יכולים להיות בעייתיים במיוחד כאשר עוסקים בערכים מספריים המאוחסנים כמחרוזות.







במדריך זה, נדון בכל השיטות והטכניקות שאנו יכולים להשתמש כדי להסיר כל אפסים מובילים בתוך מערך נתונים של SQL.



הגדרת נתונים לדוגמה

לפני שנצלול לתוך היישומים והדוגמאות, הבה נתחיל בהגדרת מערך נתונים בסיסי שיעזור להדגים את התרחשותם של אפסים מובילים.



שקול את הטבלה של עובד עם הנתונים כפי שמוצג להלן:





צור טבלה עובד (
EmployeeID VARCHAR(10)
);
INSERT INTO ערכים של עובד (EmployeeID).
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

במקרה זה, מזהה העובד הוא מסוג 'varchar'. עם זאת, הערכים מכילים אפסים מובילים.

הבה נחקור את השיטות שבהן אנו יכולים להשתמש כדי להסיר את האפסים המובילים הללו.



שימוש בפונקציית CAST

אחת השיטות להסרת כל אפסים מובילים היא על ידי המרת המחרוזת לסוג מספרי. אנו יכולים להשתמש בפונקציה כגון CAST או CONVERT() כפי שהודגם בדוגמה הבאה:

SELECT CAST(EmployeeID AS INT) AS EmployeeIDWithoutZeros
FROM עובד;

זה אמור לעבוד באופן אוטומטי במסדי נתונים התומכים בפונקציה cast() .

עם זאת, בבסיסי נתונים כגון MySQL, ייתכן שיהיה עליך להעביר את הפונקציה לפונקציית ה-trim כדי להסיר למעשה את האפסים המובילים. לאחר מכן תוכל להמיר את הערכים לסוג מספרי כפי שמוצג בדוגמה הבאה:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS Signed) AS EmployeeIDWithoutZeros
מעובד;

הפלט המתקבל הוא כדלקמן:

שימוש בפונקציית LTRIM

השיטה הנפוצה והחזקה ביותר שבה אתה יכול להשתמש כדי להסיר כל אפסים מובילים היא שימוש בפונקציה LTRIM() . פונקציה זו מאפשרת לנו להסיר כל תווי רווח לבן מוביל במחרוזת נתונה.

עם זאת, זה לא מאפשר לנו לציין את התו הספציפי שברצוננו להסיר. במקרה שלנו, נוכל להשתמש בו על ידי הסרת האפסים המובילים ממחרוזת.

דוגמה היא כדלקמן:

SELECT LTRIM(EmployeeID, '0') AS EmployeeIDWithoutZeros
מעובד;

זה אמור להסיר את תווי האפס המובילים מהמחרוזת.

סיכום

במדריך זה, חקרנו שתי שיטות עיקריות שבהן אנו יכולים להשתמש כדי להסיר כל תווי אפס מוביל ממחרוזת/עמודה נתונה.