Ravindra BagaleCourses & study guides Track your progress

10. Analysts रोज वापरतात ती Text Functions

10.2 || आणि concat() ने text कसा जोडायचा (नावं आणि labels)

का (Why). Reports मध्ये बऱ्याचदा एक वाचायला सोपं label लागतं, जसं hub code आणि त्याचं शहर. SQL मध्येच text जोडला तर Excel मध्ये हाताने करावं लागत नाही.

काय (What). || operator text चे दोन तुकडे जोडून एक करतो. कुठलाही तुकडा NULL असेल तर पूर्ण result NULL होतो. SQLite 3.44 आणि नंतरच्या versions मध्ये concat() सुद्धा text जोडतं, पण NULL तुकडे सरळ सोडून देतं. इतर databases NULL वेगळ्या पद्धतीने हाताळतात, म्हणून query दुसरीकडे नेण्याआधी तपासा.

कसं (How). || वापरून hub label बनवा. मग नाव नसलेल्या agent वर || आणि concat() यांची तुलना करा.

पायऱ्या

  1. PNQ-01 - Pune सारखी labels बनवायला पहिलं उदाहरण run करा.
  2. Agents 1 आणि 6 साठी दुसरं उदाहरण run करा.
  3. Agent 6 साठी || column NULL आहे, पण concat() अजून ' (1)' देतं ते बघा.
  4. नाव नसेल तेव्हा report मध्ये काय दिसायला हवं ते ठरवा, उदाहरणार्थ coalesce(raw_name, 'Unknown') वापरून.

उदाहरणे

उदाहरण 1 · dataset: swiftship_logistics

SELECT hub_code || ' - ' || city AS hub_label
FROM hubs
ORDER BY hub_id;

Output

hub_label
PNQ-01 - Pune
BOM-02 - Mumbai
DXB-01 - Dubai
LHR-03 - London
SIN-01 - Singapore

Meaning. आता प्रत्येक hub ला code आणि शहर असलेलं एक स्पष्ट label आहे, report च्या heading साठी तयार.

उदाहरण 2 · dataset: swiftship_logistics

SELECT agent_id,
       raw_name || ' (' || hub_id || ')'      AS label_pipes,
       concat(raw_name, ' (', hub_id, ')')    AS label_concat
FROM agents
WHERE agent_id IN (1, 6);

Output

agent_idlabel_pipeslabel_concat
1 asha patil (1) asha patil (1)
6NULL (1)

Meaning. Agent 6 चं नाव NULL आहे, म्हणून || label सुद्धा NULL आहे. concat() नसलेलं नाव सोडून फक्त ' (1)' देतं. दोन्ही results चांगलं label नाहीत, म्हणून नसलेलं नाव मुद्दाम हाताळा.

Ravindra Bagale's Tip

When a label suddenly shows NULL, look for one NULL piece inside the || chain. Wrap that column in coalesce() with a clear word like Unknown.