Ravindra BagaleCourses & study guides Track your progress

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() सोबत तुलना करा.

पायऱ्या

  1. DB Browser for SQLite मध्ये swiftship_logistics.db उघडा आणि Execute SQL tab वर जा.
  2. पहिलं उदाहरण run करा आणि shown व trimmed columns ची तुलना करा.
  3. दोन्ही length columns बघा: फक्त टोकांवरच्या spaces गेल्या तरच आकडा कमी होतो.
  4. दुसरं उदाहरण 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_idshowntrimmedlen_rawlen_trimmed
1[ asha patil ][asha patil]1310
2[RAHUL SHARMA][RAHUL SHARMA]1212
3[Fatima Khan][Fatima Khan]1212
4[oliver brown][oliver brown]1212
5[élodie martin][élodie martin]1313
6NULLNULLNULLNULL

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_nameupper_namelower_name
RAHUL SHARMARAHUL SHARMArahul 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.