我有一个名为'click_target'的字段,用于存储与此类似的数据字符串:
http://domain.com/deals/244?utm_source=sendgrid.com&utm_medium=email&utm_campaign=website
使用MySQL查询,是否可以从字符串中提取ID(244)并使用它来加入另一个表?
答案 0 :(得分:1)
你当然可以用表达式玩游戏来从这个字符串中提取ID但是我更担心 - 你将URL格式依赖于数据库中的查询。这不是一个好主意,因为(我不说IF)URL的更改你的查询会突然失败 - 没有错误,只是空(如果你很幸运)或无意义的结果。
答案 1 :(得分:0)
这是一个丑陋的黑客,但我相信这一行会在上面的网址中为你提取你的ID。
REVERSE(LEFT(LOCATE('/', REVERSE(LEFT(click_target, LOCATE('?', click_target)-1)))-1))
基本上,我在第一个'?'之间收到文字和最后一个'/'。从那里你可以使用该值加入你想要的任何表格,但我建议将其别名或将其存储在变量中,以便不经常重新计算。
答案 2 :(得分:0)
如果您需要id,请修复数据库以将其正确存储在单独的字段中。