[英]convert string to mysql query using regex
我错误地更新了MySQL数据库中的一列,并将每一行设置为相同的值,如下所示:
ID keyword Default_value
1 header_HOME EXCURSIONS
2 footer_APARTMENTS EXCURSIONS
3 index_Excursions EXCURSIONS
4 header_Sea_Excursions EXCURSIONS
5 home_Desert_Safari EXCURSIONS
6 header_Sight_Seeing EXCURSIONS
7 apartment_Shore_excursions EXCURSIONS
8 header_Plan_excursions EXCURSIONS
9 header_Others EXCURSIONS
10 header_Hotels EXCURSIONS
像那样
ID keyword Default_value
1 header_HOME HOME
2 footer_APARTMENTS APARTMENTS
3 index_Excursions Excursions
4 header_Sea_Excursions Sea Excursions
5 home_Desert_Safari Desert Safari
6 header_Sight_Seeing Sight Seeing
7 apartment_Shore_excursions Shore_excursions
8 header_Plan_excursions Plan_excursions
9 header_Others Others
10 header_Hotels Hotels
现在,我需要更新Default_value
列以匹配此模式:
keyword
列中的单词keyword
。 header_
前缀。 _
。 Excursions
。 结果将等同于对每一行运行如下命令:
UPDATE `my_table` SET `Default_value` = 'Desert_Safari' WHERE `id` = 5
我认为这将满足您的要求:
update table t
set default_value = concat(replace(substring(keyword, 8), '_', ' '), ' Excursions')
我认为使用基本字符串函数比使用正则表达式更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.