2012-09-29 20 views
5

Bu veriler var ki:MySQL REGEX, SUBSTRING kullanarak uzunluğunu biliyor mu?

First line of text etc etc 
Second line of text here 

Ben ilk satırı dönmek istiyorum, ve böyle başlar biliyorum ama bunun bir satır sonu ile sonlanır Sadece bu da biter değil nasıl. Bu işleri

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

+10 haricinde hep 10 olmayacak: Bu defa ne var. Nerede duracağımı bilmem gereken tek işaret yeni bir satırdır, ancak SUBSTRING'de normal ifadeyi kullanmanın mümkün olduğunu düşünmüyorum. Bunu yapmanın bir yolu var mı?

+0

'İlk satır' kelimesini veya ateş hattının kendisini geri almak istiyor musunuz? –

+0

@JoeGJoseph İlk satırın kendisi. Aşağıdaki cevabınız doğru değil. – Norse

+0

Cevabımı güncelledim .. plz Şimdi kontrol et –

cevap

0

bu deneyin:

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

bu deneyin:

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

Alt dize gelen kimse, sıfır başlar. LOCATE sonucundan bir tanesi çıkarıldığında satır geri dönüşü hariç tutulur.

İlgili konular