select 个词条
select entries that has one word
我有一个名为 post 的 table,其中有一列名为标题。我想 select 所有 post 只有 1 个词作为标题。因此,例如 'cat' , 'dog' 。有post的还有不止一个比如'cat and dog are not good',这个我不想select。仅 post 一字标题。我怎样才能用 mysql 做到这一点?
SELECT * FROM post WHERE title NOT LIKE '% %'
选择标题没有空格的行。
编辑:
If a single word with a space in the end like cat
, then?
然后你用金枪鱼打你的用户,因为他们做出了愚蠢的输入,还因为你的程序员没有修剪输入。
开玩笑的。如果这是可能的,这应该有效:
SELECT * FROM post WHERE title RLIKE '^[[=space=]]*[^[=space=]]+[[=space=]]*$'
使用正则表达式进行匹配怎么样?我假设你用一个词来表示它不应该有 spaces 在里面。您可以将其与以下表达式匹配:
SELECT *
FROM myTable
WHERE Title NOT REGEXPR '.* .*'
这应该会捕获其中包含 space 的任何标题并将其从结果中排除。
如果一个单词最后有一个space比如'cat '。
查询
CREATE TABLE tbl(title VARCHAR(250));
INSERT INTO tbl VALUES('cat ');
INSERT INTO tbl VALUES('dog');
INSERT INTO tbl VALUES('cat and dog');
SELECT * FROM tbl WHERE TRIM(TRAILING ' ' FROM title) NOT LIKE '% %';
If space 在开始和结束。那么,
查询
SELECT * FROM tbl WHERE TRIM(BOTH ' ' FROM title) NOT LIKE '% %';
或
SELECT * FROM tbl WHERE TRIM(title) NOT LIKE '% %';
我有一个名为 post 的 table,其中有一列名为标题。我想 select 所有 post 只有 1 个词作为标题。因此,例如 'cat' , 'dog' 。有post的还有不止一个比如'cat and dog are not good',这个我不想select。仅 post 一字标题。我怎样才能用 mysql 做到这一点?
SELECT * FROM post WHERE title NOT LIKE '% %'
选择标题没有空格的行。
编辑:
If a single word with a space in the end like
cat
, then?
然后你用金枪鱼打你的用户,因为他们做出了愚蠢的输入,还因为你的程序员没有修剪输入。
开玩笑的。如果这是可能的,这应该有效:
SELECT * FROM post WHERE title RLIKE '^[[=space=]]*[^[=space=]]+[[=space=]]*$'
使用正则表达式进行匹配怎么样?我假设你用一个词来表示它不应该有 spaces 在里面。您可以将其与以下表达式匹配:
SELECT *
FROM myTable
WHERE Title NOT REGEXPR '.* .*'
这应该会捕获其中包含 space 的任何标题并将其从结果中排除。
如果一个单词最后有一个space比如'cat '。
查询
CREATE TABLE tbl(title VARCHAR(250));
INSERT INTO tbl VALUES('cat ');
INSERT INTO tbl VALUES('dog');
INSERT INTO tbl VALUES('cat and dog');
SELECT * FROM tbl WHERE TRIM(TRAILING ' ' FROM title) NOT LIKE '% %';
If space 在开始和结束。那么,
查询
SELECT * FROM tbl WHERE TRIM(BOTH ' ' FROM title) NOT LIKE '% %';
或
SELECT * FROM tbl WHERE TRIM(title) NOT LIKE '% %';