Mysql 如何从文本字段的第二行中选择字符串
我有一个奇怪的数据库,有一个文本字段,其中包含可变数量的文本行。一致的是,我需要的数据是每个字段第二行的一个4个字符的字符串 字段中的文本示例如下所示Mysql 如何从文本字段的第二行中选择字符串,mysql,Mysql,我有一个奇怪的数据库,有一个文本字段,其中包含可变数量的文本行。一致的是,我需要的数据是每个字段第二行的一个4个字符的字符串 字段中的文本示例如下所示 Smoke That Thunders R 44' Zambia 2016 我需要的是这个“44””部分,仅第二行的前4个字符 我需要选择此4个字符的字符串作为新列。这可能吗?据我所见,子字符串(str,pos,len)非常理想,但是如何在第二行上设置子字符串函数的起始位置?您可以使用新行\n作为子字符串,然后首先定位它,例如: SELECT
Smoke That Thunders R
44' Zambia 2016
我需要的是这个“44”
”部分,仅第二行的前4个字符
我需要
选择此4个字符的字符串作为新列。这可能吗?据我所见,子字符串(str,pos,len)
非常理想,但是如何在第二行上设置子字符串
函数的起始位置?您可以使用新行\n
作为子字符串,然后首先定位它,例如:
SELECT LOCATE('\n', column_name)
FROM table;
这将为您提供\n
(即新行)首次出现的索引,然后您可以将其用于子字符串,例如:
SELECT SUBSTRING(column_name, LOCATE('\n', column_name), 4)
FROM table;
这是和的文档
更新
如果新行单独不起作用,您可以尝试将新行与回车符组合使用(即\r\n
)。您可以使用新行\n
作为子字符串,并首先定位它,例如:
SELECT LOCATE('\n', column_name)
FROM table;
这将为您提供\n
(即新行)首次出现的索引,然后您可以将其用于子字符串,例如:
SELECT SUBSTRING(column_name, LOCATE('\n', column_name), 4)
FROM table;
这是和的文档
更新
如果新行单独不起作用,您可以尝试将新行和回车(即\r\n
)组合使用。我正在慢慢地找到这个解决方案,定位是整洁的。感谢您的回复,我没有考虑过定位
,您的回答是给我一个空行的结果,所以我尝试了这个方法,它成功了<代码>从表中选择子字符串(列名称,定位('\n',列名称),4)
@Daniel谢谢你的反馈,我已经更新了答案。我正在慢慢地找到这个解决方案,定位很简单。谢谢你的回复,我没有考虑LOCATE
,你的答案给了我一个空白行的结果,所以我尝试了这个方法,效果很好<代码>从表中选择子字符串(列名称,定位('\n',列名称),4)代码>@Daniel谢谢你的反馈,我已经更新了答案。