说我有这些数据:
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 :(得分:0)
试试这个:
SELECT
SUBSTRING( `file`, LOCATE('First line', `file`),
LOCATE("\n",`file`)
FROM `test`
答案 1 :(得分:0)
试试这个:
SELECT SUBSTRING(`file`, 1, LOCATE("\n", `file`) - 1) FROM `test`;
子串从一开始,而不是零。从LOCATE的结果中减去一行将排除行返回。