【发布时间】:2014-10-17 23:48:07
【问题描述】:
我在 MySQl 表中有以下行示例
Column A
Row1 Lauguage=English&Country=USA&Gender=Male
Row2 Gender=Female&Language=French&Country=
Row3 Country=Canada&Gender=&Language=English
我怎样才能做到以下几点:例如,我需要寻找国家
- 我需要在此文本列中定位 Country 的位置。这会因行而异。
- 然后我需要忽略参数“Country=”,只提取值。在某些情况下,这将是 NULL(例如 Row2 中的示例),而在某些行中,我需要后跟“=”的值(例如 Row1 和 Row3 中的示例)。但是,我需要确保我只获得价值。不是由'&'分隔的下一个参数
- 提取 Country 参数的值后,我需要创建一个新列,现在将在其中提取和存储这些值。
最终结果:新列
Column B
Row1 USA
Row2
Row3 Canada
这里的任何帮助将不胜感激!谢谢!
【问题讨论】:
-
你为什么要把这样的数据放在你的表中?标准化!
-
使用
LOCATE()和SUBSTRING()函数。不幸的是,它在 SQL 中很复杂,因为您需要使用对LOCATE()的嵌套调用来找到结束它的&。
标签: mysql string return-value extract