尝试从mysql列中获取特定值

时间:2014-12-13 21:30:09

标签: mysql

我有一个mysql(文本)列,其中包含带有哈希标记的所有注释,而我正在寻找一种只选择哈希标记的方法

Id | Column
1  | I'm #cool and #calm
2  | l like #manchester
3  | #mysql troubles not #cool

2 个答案:

答案 0 :(得分:1)

您可以使用substring_index()进行解析,从而做出您想做的事情。假设散列标记后面的字符是空格,您可以这样做:

select t.*,
       substring_index(substring_index(comment, '#', n.n + 1), ' ', 1)
from table t join
     (select 1 as n union all select 2 union all select 3) n
     on n.n <= length(t.comment) - length(replace(t.comment, '#', '')) ;

花哨的on子句计算注释中#的数量,这是计算标签的数量。

答案 1 :(得分:0)

您可以使用正则表达式

试试这个正则表达式:

/(#[A-Za-z])\w+

演示: [http://regexr.com/3a2q7][1]