mysql - 查询以检查某一行是否有 2 个单词

标签 mysql sql

如何返回一列中有 2 个单词(即由空格分隔的字符串)的行?

必须是纯SQL。

SELECT * FROM table WHERE name (has 2 strings in it);

最佳答案

I dont know the names when querying. Its a big dataset. I only have to check if the name contains a spacebar basically (from a comment).

如果你想区分有两个部分的名字和一个部分和三个以上部分的名字,你可以使用regular expression :

SELECT * FROM my_table WHERE name REGEXP '^[^ ]+[ ]+[^ ]+$'

当整个字符串由两个不包含空格且由一个或多个空格分隔的非空部分组成时,此正则表达式匹配。

关于mysql - 查询以检查某一行是否有 2 个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28880722/

相关文章:

php - 搜索时高级 ORDER BY

sql - 我可以在 'insert ... on duplicate update ...' 语句中重用绑定(bind)变量吗?

mysql - At-在列名之前登录 SQL 语句

mysql - 如何优化产品抓取查询

mysql - 如何获取MySQL中数据库的信息?

sql - 在数据库中存储哈希的最佳方式

php - 一个很好的教程,书籍或练习,供新手学习SQL命令以在php中创建论坛(或其他方法)?

mysql - 获取只有一个已知值的下一条记录 ID

mysql - 创建mysql函数

mysql - 使用 Zipkin TracingStatementInterceptor 启动 c3po 连接池时发生死锁