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

时间:2017-07-11 22:31:08

标签: mysql

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

字段中的文字示例位于

之下
Smoke That Thunders R
44' Zambia 2016

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

我需要select这个4个字符的字符串作为新列。这可能吗?从我所看到的情况来看,substring(str, pos, len)是理想的,但是如何在第二行设置substring函数的起始位置?

1 个答案:

答案 0 :(得分:4)

您可以先使用新行\n作为子字符串,然后使用LOCATE,例如:

SELECT LOCATE('\n', column_name)
FROM table;

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

SELECT SUBSTRING(column_name, LOCATE('\n', column_name), 4)
FROM table;

以下是LOCATESUBSTRING的文档。

<强>更新

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