2015-10-30 109 views
-1

我得到了一個與MySQL通配符的問題。 鑑於如下表:我的查詢MYSQL通配符問題

id | name 
-------------- 
1 | Marcel 
2 | Marcel2 
3 | Marcel3 

現在我需要知道有多少entrys名爲馬塞爾是在表中。

SELECT id FROM 'users' WHERE name LIKE 'Marcel#' 
--gives me **0** results 

SELECT id FROM 'users' WHERE name LIKE 'Marcel_' 
-- gives me just **1** result (**3** would be the solution) 

我可以使用什麼查詢來確定名稱+ nr在表格中的頻率?

+0

你從哪裏得到'#'和'_'通配符?他們不是我知道的任何SQL的一部分。 – wallyk

+0

@wallyk從[doc](https://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html)'_只能匹配一個字符。 '。用'#'我也是第一次看到它。 – lad2025

回答

3

使用通配符%

SELECT id FROM `users` WHERE name LIKE 'Marcel%' 

SqlFiddleDemo

% A substitute for zero or more characters 
_ A substitute for a single character 

所以你:

SELECT ID FROM '用戶' WHERE名稱LIKE 'Marcel_' 給我僅有1 結果(3將是解決辦法)

可能是假的看到:SqlFiddleDemo,因爲它可以讓你Marcel2Marcel3(除非你有尾部空格,我不能例如在看你已經提供)

0

像'%Marcel%'這樣的名字應該適合你。