बाएं से दूसरे विशिष्ट वर्ण के बाद स्ट्रिंग निकालें


10

टेबल कॉलम में मेरे पास इस प्रकार के मान हैं

154646@8@486
45465@6464@654

आदि।

मैं दूसरे @ वर्ण के बाद सब कुछ कैसे निकाल सकता हूं? मुझे प्रदर्शित करने की आवश्यकता है

154646@8
45465@6464

मैं इसे केवल सभी @ के लिए कर सकता हूं लेकिन दूसरे के लिए नहीं

SELECT REPLACE(LEFT('45@Tra@lala', CHARINDEX('@','45@Tra@lala')-1),'_',' ')

रिटर्न 45 नहीं बल्कि 45 @ ट्रा

धन्यवाद :-)


क्या @स्ट्रिंग में कोई संख्या के संकेत हो सकते हैं ?
हारून बर्ट्रेंड

जवाबों:


16

आप तीसरे पैरामीटर का उपयोग कर सकते हैं, charindex()यह निर्दिष्ट करने के लिए उपयोग किया जाता है कि स्ट्रिंग कहां से खोज शुरू होगी।

declare @S varchar(20) = '45465@6464@654';
select left(@S, charindex('@', @S, charindex('@', @S)+1)-1);

परिणाम

45465@6464
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.