10. Analysts रोज वापरतात ती Text Functions
10.4 substr() ने text चा तुकडा कसा काढायचा
का (Why). Codes मध्ये ठराविक जागांवर अर्थ दडलेला असतो. Tracking code ची पहिली तीन अक्षरं शहर सांगू शकतात, आणि शेवटचा भाग serial number असू शकतो.
काय (What). substr(text, start, length) text चा एक तुकडा देतं. पहिलं अक्षर जागा 1 वर असतं, 0 वर नाही. Length दिली नाही तर शेवटपर्यंतचा सगळा text मिळतो. SQLite मध्ये negative start उजवीकडून मोजतो, म्हणून substr(code, -5) शेवटची पाच अक्षरं देतं. इतर databases negative start वेगळा वापरतात, म्हणून query दुसरीकडे नेण्याआधी तपासा.
कसं (How). प्रत्येक tracking code चे city code, hub code चा भाग आणि serial number असे तुकडे करा.
पायऱ्या
- Shipments 1001 आणि 1006 साठी उदाहरण run करा.
- city_code वाचा: जागा 1 ते 3.
- hub_part वाचा: जागा 1 ते 6, जो hubs.hub_code शी जुळायला हवा.
- serial वाचा: negative start वापरून घेतलेली शेवटची पाच अक्षरं.
उदाहरणे
उदाहरण 1 · dataset: swiftship_logistics
SELECT tracking_code,
substr(tracking_code, 1, 3) AS city_code,
substr(tracking_code, 1, 6) AS hub_part,
substr(tracking_code, -5) AS serial
FROM shipments
WHERE shipment_id IN (1001, 1006);Output
| tracking_code | city_code | hub_part | serial |
|---|---|---|---|
| PNQ-01-00017 | PNQ | PNQ-01 | 00017 |
| LHR-03-00221 | LHR | LHR-03 | 00221 |
Meaning. PNQ-01-00017 चे PNQ, PNQ-01 आणि 00017 असे तुकडे होतात. LHR-03-00221 चे LHR, LHR-03 आणि 00221 होतात. इथले सगळे codes एकाच ठराविक रचनेचे आहेत म्हणून हे चालतं.
Ravindra Bagale's Tip
Fixed positions work only when every value has the same layout. If the lengths vary, find the separator with instr() first and cut from there.
Ravindra Bagale's Tip – मराठी
ठराविक जागा तेव्हाच चालतात जेव्हा प्रत्येक value ची रचना सारखी असते. Lengths बदलत असतील तर आधी instr() ने separator शोधा आणि तिथून तुकडा काढा.
Ravindra Bagale's Tip – हिंदी
तय जगहें तभी काम करती हैं जब हर value की बनावट एक जैसी हो। लंबाई बदलती हो तो पहले instr() से separator ढूँढिए और वहाँ से काटिए।