我知道这远不是最佳的做事方式,但它需要不经常做,所以我不想看修改数据库/应用程序。
我有一个数据库字段DataField
(BLOB),其中包含以下格式的数据字符串:
“1,,0,13424556,项目,某事”
但是该字段可能包含多个实例(有时 4 或 5 个实例),例如
"1,,0,13424556,item,something\r\n"1,,1,12345888,itemOther,somethingElse"
我需要找到一种方法(在 MySQL 中)将其拆分为单独显示每个项目(在它自己的列中)。但是找不到这样做的方法。(事实上,如果可能的话,我只需要每个字符串中的数字字符串(例如
13424556
))
我有以下查询,这是一个开始:
SELECT
SUBSTRING_INDEX(`DataField`,'\r\n',1),
SUBSTR(`DataField`, LOCATE('\r\n',`DataField`)+2, (CHAR_LENGTH(`DataField`) - LOCATE('\r\n',REVERSE(`DataField`) )- LOCATE('\r\n',`DataField`))) AS e2
FROM table3;
如果只有两个项目,则此方法有效,但如果有 3 个或更多,则无效。
如果有人可以对此进行扩展,我将不胜感激。