5

このデータがあるとします:

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 で正規表現を使用することはできないと思います。これを行う方法はありますか?

4

2 に答える 2

0

これを試して:

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

部分文字列はゼロではなく 1 から始まります。LOCATE の結果から 1 を引くと、改行が除外されます。

于 2012-11-24T01:20:44.483 に答える
0

これを試して:

SELECT 
      SUBSTRING( `file`, LOCATE('First line', `file`),
          LOCATE("\n",`file`) 
 FROM `test`
于 2012-09-29T03:42:17.773 に答える