2012-09-29 15 views
5

मैं इस डेटा है कहते हैं:MySQL REGEX Uknown लंबाई के साथ सबस्ट्रिंग का उपयोग कर?

First line of text etc etc 
Second line of text here 

मैं पहली पंक्ति वापस जाने के लिए चाहते हैं, और मुझे पता है कि यह कैसे शुरू होता है, लेकिन नहीं है कि यह कैसे समाप्त होता है, केवल यह है कि यह एक लाइन ब्रेक के साथ समाप्त होता है।

SELECT 
SUBSTRING(`file`, LOCATE('First line', `file`), LOCATE('First line', `file`)+10) 
FROM `test` 

यह काम करता है +10 को छोड़कर हमेशा +10 नहीं होगा: यह वही है मैं अब तक है। एकमात्र मार्कर मुझे यह जानना है कि कहां रुकना है एक नई लाइन है, लेकिन मुझे नहीं लगता कि सबस्ट्रिंग में रेगेक्स का उपयोग करना संभव है। क्या इसे करने का कोई तरीका है?

+0

क्या आप शब्द 'पहली पंक्ति' या गंदगी लाइन को पुनः प्राप्त करना चाहते हैं? –

+0

@JoeGJoseph पहली पंक्ति स्वयं ही। आपका उत्तर सही नहीं है। – Norse

+0

मैंने अपना जवाब अपडेट कर दिया है .. कृपया जांचें –

उत्तर

0

इस प्रयास करें:

SELECT 
     SUBSTRING(`file`, LOCATE('First line', `file`), 
      LOCATE("\n",`file`) 
FROM `test` 
0

इस प्रयास करें:

SELECT SUBSTRING(`file`, 1, LOCATE("\n", `file`) - 1) FROM `test`; 

सबस्ट्रिंग एक से, शून्य नहीं शुरू होता है। LOCATE के परिणाम से एक को घटाना लाइन रिटर्न को छोड़ देता है।

संबंधित मुद्दे