在MySQL中选择表列数据的一部分

6

我有一张名为“photo”的表格,其中包含2000个条目。该表格有一个名为photo_note的列,其中包含以下格式的数据,但具有不同的放大值。

Magnification 30x. The resolution varies depending on.....

我需要选择从“The resolution”开始的列数据的其余部分,并将其附加到另一个字段“photo_note_2”中。
如果您有关于如何在MySQL中实现此操作的建议,我们非常感谢。

“photo_note”列始终相同吗?您是否总是想从“分辨率”开始? - Manse
你想在 PHP 中使用 MySQL 吗? - William Kinaan
photo_note 对于所有记录来说基本相同,除了 madnification 值不同。感谢您的帮助。 - Kim
对于那些只需要数据中特定字符串(而不是其他数据)的人,这个问题可能更合适 - Armfoot
1个回答

17

SUBSTRING函数可以用来截取字符串的一部分。而INSTR函数则是返回某个字符串在另一个字符串中的位置。

如果你知道所有的列都包含“The resolution”这个子串,那么:

SELECT SUBSTRING(photo_note, INSTR(photo_note, 'The resolution')) from table;

如果您知道在要检索的字符串之前都会有一个“x. ”,那么

SELECT SUBSTRING(photo_note, INSTR(photo_note, 'x. ') + 3) from table;

您可以在此处查看MySQL的所有字符串函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接