Получить единственное значение из последовательной записи SQL

#mysql

#mysql

Вопрос:

как я могу получить отдельные значения из записи, подобной этой:

 O:8:"stdClass":10:     
{s:4:"mime";s:10:"image/jpeg";s:4:"size";s:6:"238062";s:7:"storage";s:9:"FSStorage";     s:3:"uri";s:26:"kat_bild_mountainbikes.jpg";s:8:"filename";s:26:"kat_bild_mountainbikes.jpg";s:5:"width";s:4:"1000";s:6:"height";s:3:"595";s:3:"alt";s:0:"";s:5:"title";s:0:"";s:8:"settings";s:0:"";}
  

Я хочу получить путь к изображению, там. Каков наилучший и быстрый способ сделать это?

Комментарии:

1. Вот почему вы не должны serialize() размещать данные в таблице.

2. Предположительно, самым быстрым способом было бы unserialize()

Ответ №1:

ДЕЙСТВИТЕЛЬНО плохая идея попытаться сделать это с помощью SQL…

Но если структура сериализованной информации всегда одинакова, вы «могли» бы использовать substring_index …

  SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(<column>, '"',6),'"',-1) AS Image_Path
 FROM `<table>` 
  

Просто замените <column> и <table> соответствующими именами…