समस्या:
आप स्ट्रिंग की शुरुआत में वर्णों का एक क्रम हटाना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में product
तीन कॉलम में डेटा के साथ:id , नाम , और मॉडल ।
आईडी | <थ>नाममॉडल | |
---|---|---|
1 | देखो | Lx0A123 |
2 | स्मार्टवॉच | Lx0W34 |
3 | घड़ी की फ़ोटो | Lx0G100 |
आइए प्रत्येक नए उत्पाद के मॉडल कोड को ट्रिम करें, इसकी शुरुआत में अनावश्यक वर्णों (Lx0) को हटा दें।
समाधान 1:
हम TRIM()
. का इस्तेमाल करेंगे समारोह। यहां वह प्रश्न है जो आप लिखेंगे:
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
ये रहा परिणाम:
नाम | new_model_code |
---|---|
देखो | A123 |
स्मार्टवॉच | W34 |
घड़ी की फ़ोटो | G100 |
चर्चा:
TRIM()
का उपयोग करें LEADING
के साथ कार्य करें एक स्ट्रिंग की शुरुआत में वर्णों को हटाने के लिए कीवर्ड। TRIM() आपको एक स्ट्रिंग के आरंभ, अंत या दोनों सिरों से विशिष्ट वर्ण या स्थान को हटाने की अनुमति देता है। यह फ़ंक्शन निम्नलिखित तर्क लेता है:
- एक वैकल्पिक कीवर्ड जो ट्रिम करने के लिए अंत निर्दिष्ट करता है। डिफ़ॉल्ट रूप से, यह
BOTH
है , लेकिन आपLEADING
. को परिभाषित कर सकते हैं (शुरुआत से हटाएं) याTRAILING
(अंत से हटा दें)। - एक स्ट्रिंग जो उस वर्ण(यों)/स्थान(यों) को परिभाषित करती है जिसे आप स्ट्रिंग से हटाना चाहते हैं (हमारे उदाहरण में, अनुक्रम 'Lx0')।
FROM
कीवर्ड।- स्ट्रिंग/कॉलम नाम काटा जाना है (हमारे उदाहरण में, मॉडल कॉलम)।
हमारे उदाहरण में, ऐसा दिखता है:
TRIM(LEADING 'Lx0' FROM model)