10. Analysts रोज वापरतात ती Text Functions
10.1 trim(), upper() आणि lower() ने text स्वच्छ कसा करायचा
का (Why). हाताने टाइप केलेल्या नावांमध्ये बऱ्याचदा जास्तीच्या spaces आणि कधी capital तर कधी small अक्षरं असतात. मग report मध्ये एकच नाव दोन वेगवेगळ्या नावांसारखं दिसतं.
काय (What). एकाच argument सोबत trim() text च्या दोन्ही टोकांवरच्या साध्या spaces काढतं. ते मधल्या spaces काढत नाही, आणि tabs किंवा line breaks सुद्धा काढत नाही. upper() अक्षरं capital करतं आणि lower() small करतं. SQLite मध्ये upper() आणि lower() default ने फक्त साधी English अक्षरं A ते Z बदलतात, म्हणून é सारखं अक्षर तसंच राहतं.
कसं (How). Spaces दिसाव्यात म्हणून नावाभोवती square brackets लावा. मग raw नावाची trim(), upper() आणि lower() सोबत तुलना करा.
पायऱ्या
- DB Browser for SQLite मध्ये swiftship_logistics.db उघडा आणि Execute SQL tab वर जा.
- पहिलं उदाहरण run करा आणि shown व trimmed columns ची तुलना करा.
- दोन्ही length columns बघा: फक्त टोकांवरच्या spaces गेल्या तरच आकडा कमी होतो.
- दुसरं उदाहरण run करा आणि upper() ने é बदलत नाही ते बघा.
उदाहरणे
उदाहरण 1 · dataset: swiftship_logistics
SELECT agent_id,
'[' || raw_name || ']' AS shown,
'[' || trim(raw_name) || ']' AS trimmed,
length(raw_name) AS len_raw,
length(trim(raw_name)) AS len_trimmed
FROM agents
ORDER BY agent_id;Output
| agent_id | shown | trimmed | len_raw | len_trimmed |
|---|---|---|---|---|
| 1 | [ asha patil ] | [asha patil] | 13 | 10 |
| 2 | [RAHUL SHARMA] | [RAHUL SHARMA] | 12 | 12 |
| 3 | [Fatima Khan] | [Fatima Khan] | 12 | 12 |
| 4 | [oliver brown] | [oliver brown] | 12 | 12 |
| 5 | [élodie martin] | [élodie martin] | 13 | 13 |
| 6 | NULL | NULL | NULL | NULL |
Meaning. Agent 1 च्या नावाच्या सुरुवातीला दोन आणि शेवटी एक space होती, म्हणून length 13 वरून 10 होते. Fatima च्या नावात मधे अजूनही दोन spaces आहेत, कारण trim() फक्त टोकं साफ करतं. Agent 6 ला नावच नाही, म्हणून प्रत्येक column NULL आहे.
उदाहरण 2 · dataset: swiftship_logistics
SELECT raw_name,
upper(raw_name) AS upper_name,
lower(raw_name) AS lower_name
FROM agents
WHERE agent_id IN (2, 5);Output
| raw_name | upper_name | lower_name |
|---|---|---|
| RAHUL SHARMA | RAHUL SHARMA | rahul sharma |
| élodie martin | éLODIE MARTIN | élodie martin |
Meaning. lower() ने RAHUL SHARMA चं rahul sharma होतं. élodie martin मध्ये upper() English अक्षरं बदलतं, पण é small अक्षरच राहतं.
Ravindra Bagale's Tip
Compare names with lower(trim(name)) on both sides. It removes the most common spacing and capital-letter differences. A match only shows a possible duplicate, so check the IDs before you merge two records.
Ravindra Bagale's Tip – मराठी
नावांची तुलना दोन्ही बाजूंना lower(trim(name)) वापरून करा. सगळ्यात नेहमीचे spaces आणि capital अक्षरांचे फरक जातात. नावं जुळली तरी ते फक्त संभाव्य duplicate आहे, म्हणून दोन records एकत्र करण्याआधी IDs तपासा.
Ravindra Bagale's Tip – हिंदी
नामों की तुलना दोनों तरफ lower(trim(name)) लगाकर कीजिए। सबसे आम spaces और capital अक्षरों के फ़र्क हट जाते हैं। नाम मिल जाएँ तो भी यह सिर्फ़ संभावित duplicate है, इसलिए दो records मिलाने से पहले IDs जाँचिए।