首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL:剪切字段,然后进行搜索

SQL:剪切字段,然后进行搜索
EN

Stack Overflow用户
提问于 2016-01-04 17:38:38
回答 1查看 43关注 0票数 0

在执行SELECT语句之前,我想对sqlite数据库的字段执行“即时”修改。

该字段名为'topic_simple',其中包含一些文本。在文本中的某处,我包含了一种分隔符:4个空格:" "

下面是我的典型SELECT语句之一:

SELECT * FROM papers WHERE (topic_simple LIKE '% 3D print%')

我想要这样的东西:

SELECT * FROM papers WHERE ((topic_simple_before_4_spaces) LIKE '% 3D print%')

我不想修改数据库中的topic_simple,我只想对这个字段的子字符串执行一条select语句。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-01-04 17:53:09

LIKE非常强大。为什么不将这四个空格添加到LIKE表达式中:

代码语言:javascript
复制
SELECT *
FROM   papers
WHERE  topic_simple LIKE '% 3D print%    %';

请注意,分隔符后面的文本不应该包含分隔符,因为这样可能会得到不需要的行。如果您的SQLite支持它,您还可以使用正则表达式。

MYSQL中,您可以直接“选择”(或“提取”) WHERE子句中四个空格之前的文本:

代码语言:javascript
复制
SELECT *
FROM   papers
WHERE  SUBSTRING(topic_simple, 1, LOCATE('    ', topic_simple) - 1) ...;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34588200

复制
相关文章

相似问题

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