标签: mysql
我有一个奇怪的数据库,其文本字段包含可变数量的文本行。一致的是我需要的数据是每个字段第二行的4个字符串。
字段中的文字示例位于
Smoke That Thunders R 44' Zambia 2016
我需要的是“44'”部分,仅限第二行的前4个字符。
44'
我需要select这个4个字符的字符串作为新列。这可能吗?从我所看到的情况来看,substring(str, pos, len)是理想的,但是如何在第二行设置substring函数的起始位置?
select
substring(str, pos, len)
substring
答案 0 :(得分:4)
您可以先使用新行\n作为子字符串,然后使用LOCATE,例如:
\n
LOCATE
SELECT LOCATE('\n', column_name) FROM table;
这将为您提供\n首次出现的索引(即新行),然后您可以将其用于SUBSTRING,例如:
SUBSTRING
SELECT SUBSTRING(column_name, LOCATE('\n', column_name), 4) FROM table;
以下是LOCATE和SUBSTRING的文档。
<强>更新强>
如果单独的新行不起作用,您可以尝试使用新行和回车符(即\r\n)的组合。
\r\n