【问题标题】:extracting strings from mysql field从mysql字段中提取字符串
【发布时间】:2011-10-13 14:20:10
【问题描述】:

总慢时刻,我需要根据从 mysql 数据库中的字段中选择的语言来提取不同的区域

例如:

<!--:en-->Overview<!--:--><!--:es-->Overview<!--:--><!--:fr-->Présentation<!--:--><!--:ar-->نظرة عامة<!--:-->

例如,如果我的语言是法语,我想要&lt;!--:fr--&gt;&lt;!--:--&gt; 之间的部分

有什么想法吗?

【问题讨论】:

    标签: mysql substring extract


    【解决方案1】:

    字符串处理并不是 MySQL 最强大的部分。但这里有一个想法:

    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, '<!--:fr-->', -1), '<!--:-->', 1) FROM table_name
    

    【讨论】:

      【解决方案2】:

      更简单的方法是使用子字符串。您可以先在字符串上找到语言的索引。之后,找到结束标记()的索引,提取中间的,就是你想要的值。

      更详细的方法是使用正则表达式。实现取决于您编码的语言。

      【讨论】:

      • 不幸的是,我需要在 sql 端执行此操作,因为这是来自一个 wordpress 站点,该站点有大约 800 万个挂钩到代码库中以获得结果,我想更改 sql 然后 php 代码无关紧要不再
      • MySQL 有子字符串和正则表达式函数
      • @cularis 正则表达式在 MySQL 中仅返回 TRUE 或 FALSE。
      猜你喜欢
      • 1970-01-01
      • 2019-01-04
      • 1970-01-01
      • 2020-07-05
      • 2011-08-02
      • 2016-06-24
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      相关资源
      最近更新 更多