समस्या:
आप स्ट्रिंग के आरंभ और अंत से विशिष्ट वर्णों को हटाना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में post
दो कॉलम में डेटा के साथ:id
और title
।
आईडी | <थ>शीर्षक|
---|---|
1 | 'कुत्तों के बारे में समाचार' |
3 | 'यूरोविज़न 2019' |
4 | 'नया राजनीतिक माहौल' |
आइए शुरुआत और अंत में अनावश्यक स्थान को हटाने के लिए प्रत्येक पोस्ट के शीर्षक को ट्रिम करें।
समाधान:
हम TRIM
. का उपयोग करेंगे समारोह। यहां वह प्रश्न है जो आप लिखेंगे:
SELECT TRIM( BOTH ' ' FROM title ) as new_title FROM post;
वैकल्पिक रूप से, आप BOTH
. के बिना छोटे संस्करण का उपयोग कर सकते हैं कीवर्ड; डिफ़ॉल्ट रूप से, TRIM
इसे दोनों ऑपरेशन के रूप में मानेंगे।
SELECT TRIM(' ' FROM title ) as new_title FROM post;
दोनों प्रश्नों के परिणाम यहां दिए गए हैं:
new_title |
---|
'कुत्तों के बारे में समाचार' |
'यूरोविज़न 2019' |
'नया राजनीतिक माहौल' |
चर्चा:
TRIM
का उपयोग करें फ़ंक्शन यदि आप किसी तालिका में स्ट्रिंग को ट्रिम करना चाहते हैं। यह फ़ंक्शन आपको किसी स्ट्रिंग के आरंभ या अंत से, या दोनों सिरों से किसी विशिष्ट वर्ण को निकालने की अनुमति देता है। यह फ़ंक्शन निम्नलिखित तर्क लेता है:
- एक कीवर्ड जो सिरों को निर्दिष्ट करता है जिसमें से ट्रिम करना है (वैकल्पिक—
BOTH
डिफ़ॉल्ट रूप से)। - वह वर्ण जिसे आप स्ट्रिंग से ट्रिम करना चाहते हैं।
FROM
कीवर्ड, उसके बाद ट्रिम किए जाने वाले स्ट्रिंग कॉलम का नाम।
हमारे उदाहरण में, ऐसा दिखता है:
TRIM( BOTH ' ' FROM title )
जैसा कि ऊपर बताया गया है, TRIM
अन्य कीवर्ड को इसके पहले तर्क के रूप में ले सकते हैं। दोनों सिरों से ट्रिमिंग के अलावा, यह हमें केवल एक स्ट्रिंग के अंत से या केवल शुरुआत से एक वर्ण को हटाने की अनुमति देता है:
TRAILING
(अंत से हटा दें)LEADING
(शुरुआत से हटाएं)
नीचे दिया गया उदाहरण प्रत्येक शीर्षक के अंत में स्थान को हटा देता है (लेकिन यदि आप LEADING
का उपयोग करते हैं तो शुरुआत में स्थान को ट्रिम करने के लिए भी इसका उपयोग किया जा सकता है इसके बजाय कीवर्ड):
SELECT TRIM( TRAILING ' ' FROM title ) as new_title FROM post;
क्वेरी title
लौटाती है अंत में एक स्थान के बिना स्तंभ। ध्यान दें कि शुरुआत में रिक्त स्थान छूटे हुए हैं।
new_title |
---|
'कुत्तों के बारे में समाचार' |
'यूरोविज़न 2019' |
'नया राजनीतिक माहौल' |