समस्या:
आप PostgreSQL में एक स्ट्रिंग को विभाजित करना चाहते हैं।
उदाहरण 1:
आपके पास एक वाक्य है, और आप इसे स्पेस कैरेक्टर से विभाजित करना चाहेंगे।
समाधान 1:
SELECT unnest( string_to_array('It''s an example sentence.', ' ') ) AS parts;
परिणाम इस तरह दिखता है:
भाग |
---|
यह |
एक |
उदाहरण |
वाक्य। |
चर्चा:
PostgreSQL में एक सरणी के तत्वों के रूप में वाक्य के सभी हिस्सों को प्राप्त करने के लिए, string_to_array(text, delimiter) फ़ंक्शन का उपयोग करें। टेक्स्ट वह टेक्स्ट है जिसे आप विभाजित करना चाहते हैं, और सीमांकक वह स्ट्रिंग (यहां, एक स्थान) है जिसके द्वारा आप टेक्स्ट को विभाजित करना चाहते हैं। string_to_array(text, delimiter)
. का सरल उपयोग समारोह:
SELECT string_to_array('It''s an example sentence.', ' ') AS parts;
निम्नलिखित परिणाम लौटाएगा:
भाग |
---|
{यह एक उदाहरण, वाक्य है।} |
SELECT unnest( string_to_array('It''s an example sentence.', ' ') ) AS parts;
यह सभी स्ट्रिंग भागों के साथ एक कॉलम तैयार करेगा, प्रत्येक एक अलग पंक्ति में।
उदाहरण 2:
sentences
तालिका, कुछ वाक्य हैं।
वाक्य |
---|
यह पहला वाक्य है। |
और ये रहा दूसरा। |
आप वाक्यों को स्पेस कैरेक्टर से विभाजित करना चाहते हैं।
समाधान 2:
SELECT unnest(string_to_array(sentence, ' ')) AS parts FROM sentences;
परिणाम इस तरह दिखता है:
भाग |
---|
यह |
है |
द |
पहले |
वाक्य। |
और |
यहां |
द |
अन्य |
एक। |
चर्चा:
पिछले उदाहरण की तरह, string_to_array(text, delimiter) और unnest(array) फंक्शन का उपयोग करें। पाठ स्तंभ नाम (वाक्य) होना चाहिए, लेकिन सीमांकक अभी भी स्थान (' ') है। इस बार, आप तालिका से डेटा का उपयोग करते हैं, इसलिए आपको तालिका नाम के साथ FROM कीवर्ड का उपयोग करने की आवश्यकता है।
SELECT unnest(string_to_array(sentence, ' ')) AS parts FROM sentences;
उदाहरण 3:
sentences
तालिका, दो कॉलम हैं:id
और sentence
।
आईडी | वाक्य |
---|---|
1 | यह पहला वाक्य है। |
2 | और ये रहा दूसरा। |
आप वाक्यों को स्पेस कैरेक्टर से विभाजित करना चाहते हैं।
समाधान 3:
SELECT id, unnest(string_to_array(sentence, ' ')) AS parts FROM sentences;
परिणाम इस तरह दिखता है:
आईडी | भाग |
---|---|
1 | यह |
1 | है |
1 | द |
1 | पहले |
1 | वाक्य. |
2 | और |
2 | यहां |
2 | द |
2 | अन्य |
2 | एक। |
चर्चा:
यह उदाहरण बहुत समान है, लेकिन आप id
. भी देखना चाहते हैं कॉलम। इस कॉलम को देखने के लिए, बस इसे SELECT
. में जोड़ें सूची और अल्पविराम शामिल करना याद रखें। आप परिणाम में वाक्य के भागों के साथ वाक्य की आईडी देखेंगे। उदाहरण के लिए, पहला वाक्य 5 भागों में विभाजित है, और इसकी आईडी है 1
. इसलिए, परिणाम में सभी 5 भागों की आईडी 1
. होगी . अगला वाक्य, आईडी के साथ 2
, को भी 5 भागों में विभाजित किया गया है, और इनमें से प्रत्येक भाग को id = 2
. के साथ दिखाया जाएगा ।