2012-09-29 31 views
5

說我有這樣的數據:使用未知長度的SUBSTRING的MySQL REGEX?

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。我必須知道停止的唯一標記是一條新線,但我不認爲在SUBSTRING中使用正則表達式是可能的。有沒有辦法做到這一點?

+0

你想回顧'第一行'一詞或者firt行本身? –

+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的結果中減去一個排除了行返回。