【发布时间】:2017-06-22 13:08:36
【问题描述】:
假设我在 MySQL 数据库中有一个表,其中包含两列 first_string 和 second_string。
first_string 包含这句话:Hello! This is my first test. I like this test.
我想获取分隔符my 和test 之间的所有内容(包括分隔符本身)并将其插入second_string。
所以second_string 应该是:my first test。
使用第一个可用的分隔符很重要:我需要my first test 和不 my first test. I like this test。
这是我目前所拥有的:
SELECT SUBSTRING(@Text, CHARINDEX('my', @Text), CHARINDEX('test',@text) - CHARINDEX('my', @Text) + Len('test'));
但是我不知道怎么做剩下的。该代码是否总是寻找第一个可用的分隔符?
我希望有人可以帮助我。谢谢!
【问题讨论】:
-
为什么不只存储“first”和“second”变量并动态创建第一个和第二个字符串?它会节省数据库存储空间,并且更容易实现。
-
问题是,
first_string已经这样存储了。我需要提取second_string的内容。完成后,我将删除整个first_string列。 -
@forrestmid 你明白我的意思吗?你知道解决办法吗?
-
@forrestmid 不需要优化。我只需要像这样编辑几百行。
-
@forrestmid 这是一个 MySQL/SQL 问题,没有 PHP。抱歉,我删除了
PHP标签。