首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite:如何在所有行中的特定字符串之间找到一个subString?

问SQLite:如何在所有行中的特定字符串之间找到一个subString?
EN

Stack Overflow用户
提问于 2017-11-23 08:06:05
回答 3查看 1K关注 0票数 0

我有一张有很多排的桌子。如何从特定字符串之间的所有行中提取字符串。例如,我有这样的文本:"stackoverflow".字符串“堆栈”和“流”在所有行中都很常见;如何在这两个字符串之间提取字符串并复制到新列?我尝试的是:

代码语言:javascript
复制
UPDATE word set m = (SELECT m FROM word WHERE m BETWEEN 'stack' and 'flow') ;

更新:考虑这段文字:“我喜欢堆栈溢出服务。”“堆栈”和“流”这两个词在所有行中都很常见,我想要它们之间的字符串。

EN

回答 3

Stack Overflow用户

发布于 2017-11-23 10:10:48

你可以试试这个

代码语言:javascript
复制
//tested string 'here is something like that'
update word set m=(select substr(m,instr(m,'is'),instr(m,'like')-1) from word);
//ouput will be 'is something like'

这是使用mysql的字符串函数的纯数学。

票数 1
EN

Stack Overflow用户

发布于 2017-11-23 08:31:12

使用substr从第6个字符(堆栈)开始,然后使用多少个字符。长度-9是指字长减去“堆栈”和“流”的长度。

UPDATE word set m = (substr(m, 6, length(m)-9)) where m like 'stack%' and m like '%flow'

票数 0
EN

Stack Overflow用户

发布于 2017-11-23 09:49:14

您也可以使用

代码语言:javascript
复制
UPDATE word 
set m = replace(replace(m,'stack',''),'flow','')
where m like 'stack%' and m like '%flow';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47450379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档