2015-01-07 42 views
1

我有一個稱爲帖子的表,其中有一個名爲title的列。我想選擇只有1個字作爲標題的所有帖子。例如'貓','狗'。有不止一個帖子,比如'貓狗不好',這個我不想選擇。只能發佈一個字的標題。我如何使用mysql做到這一點?選擇包含一個單詞的條目

+4

什麼用一個字沒有空格,不thhat幫助? – Jasen

回答

7
SELECT * FROM post WHERE title NOT LIKE '% %' 

選擇標題沒有空格的行。

編輯:

如果一個字有像cat在後面加上一個空格,然後呢?

然後你用一個tunafish來製作愚蠢的輸入,也是你的程序員不修剪輸入的用戶。

只是在開玩笑。如果這是可能性,這應該工作:

SELECT * FROM post WHERE title RLIKE '^[[=space=]]*[^[=space=]]+[[=space=]]*$' 
+0

一個小小的疑問,如果一個單詞帶有空格到底像'貓''那麼? – Wanderer

+1

a用於抨擊用戶。 –

0

如何使用正則表達式進行匹配。我假設你用一個詞來表示它不應該有空格。你可以用下面的表達式匹配這個:

SELECT * 
FROM myTable 
WHERE Title NOT REGEXPR '.* .*' 

這應該趕在它有一個空間的任何標題,並排除那些從結果。

1

如果一個單詞的最後一個空格像'貓'一樣。

查詢

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 '% %'; 

Fiddle Demo 1


如果在空間的開始和結束。然後,

查詢

SELECT * FROM tbl WHERE TRIM(BOTH ' ' FROM title) NOT LIKE '% %'; 

OR

SELECT * FROM tbl WHERE TRIM(title) NOT LIKE '% %'; 

Fiddle Demo 2

+1

是的,我想這也是有效的:P。雖然會出現''老鼠''失敗。爲什麼不簡單'TRIM(標題)'? – Amadan

+0

我們可以使用簡單的'TRIM()'。謝謝 – Wanderer

相關問題