2013-12-09 67 views
1

在我mysql表,字段的一個持有性質的數據:獲得在MySQL查詢字符串

{"gateway":"somevalue","location":"http://www.somesite.org/en/someresource","ip":"100.0.0.9"} 

我需要提取位置的值從這一領域,這是

單獨的屬性

http://www.somesite.org/en/someresource

在這種情況下

。我如何編寫查詢來實現此目的?

+1

利用非常方便SUBSTRING_INDEX()功能這是一個很好的例子(和動機),你不應該將信息保存到數據庫中! – alfasin

回答

3

除了事實,你最好不要存儲任何形式(包括JSON)數據庫中的限定值,而是標準化數據,您可以通過以下方式

SELECT TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, '"location":', -1), ",", 1)) location 
    FROM table_name 
WHERE ...