如何从文本字段mysql的第二行选择字符串

Dan*_*iel 1 mysql

我有一个奇怪的数据库,其中的文本字段包含可变数量的文本行。一致的是,我需要的数据是每个字段第二行上的4个字符串。

下面是字段中文本的示例

Smoke That Thunders R
44' Zambia 2016
Run Code Online (Sandbox Code Playgroud)

我需要的是“44' ”部分,仅第二行的前4个字符。

我需要select将此4字符串作为新列。这可能吗?从我看来,substring(str, pos, len)这是理想的选择,但是如何substring在第二行中设置函数的开始位置?

Dar*_*hta 5

您可以使用新行\n作为子字符串,LOCATE并且首先使用它,例如:

SELECT LOCATE('\n', column_name)
FROM table;
Run Code Online (Sandbox Code Playgroud)

这将为您提供首次出现的索引\n(即新行),然后可以将其用于SUBSTRING,例如:

SELECT SUBSTRING(column_name, LOCATE('\n', column_name), 4)
FROM table;
Run Code Online (Sandbox Code Playgroud)

这是LOCATESUBSTRING的文档。

更新资料

\r\n如果仅新行不起作用,则可以尝试使用新行和回车符(即)的组合。