2010-01-15 14 views
20

我確定這是超級簡單,但似乎無法弄清楚..我需要從我的數據庫中選擇標題開始的所有標題與A,或B,或C等。這是我到目前爲止已經試過:php從mysql中選擇標題以A開始(和A單獨)

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A' 

但沒有返回..有人能幫助我嗎?

乾杯

+0

我也忘了問,如果該怎麼辦呢標題以數字開頭.. – SoulieBaby 2010-01-15 03:16:58

+0

以及如何使用PDO執行此操作? – 2016-06-13 21:20:50

回答

47

對於商品在 'A' 使用%A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%' 

後爲了與字母 'A' 在其上的A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A%' 

任一側使用%標題開始標題前A

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A' 
0123在字母 'A',使用 %結束

基本上%是通配符。它告訴MySQL任何東西都可以在這個位置。

對於有數字作爲第一個字母,看看Mark's answer.

+0

我認爲第二個例子應該以'%A%'結尾' – catsby 2010-01-15 03:06:22

+0

是的,那是對的。固定。 – 2010-01-15 03:06:40

+0

非常感謝,如果標題以數字開頭,我也忘了問怎麼做? – SoulieBaby 2010-01-15 03:10:08

1

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'

%告訴 「任何東西」,所以它的 「A」,那麼任何事情。只適用於LIKE比較運算符。

2

嘗試:

SELECT * FROM weblinks WHERE catid = 4 AND ((title like 'A%') OR (title like 'B%')) 

等等等等

6

的通配符LIKE%_,其中%匹配0或更多的字符和_匹配一個字符。

6

現有的答案是正確的開始使用A:

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%' 

對於年初的任何號碼,你可以使用REGEXP操作:

SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]' 
+1

來偷我接受的答案從我呃? (只是開玩笑)添加了一個鏈接到你的答案。 – 2010-01-15 03:27:21

+0

謝謝你們,非常感謝:) – SoulieBaby 2010-01-15 03:29:56

+2

@Soulie:你應該接受Chacha的回答,因爲你已經正確回答了問題後改變了問題。下一次,如果您對問題進行實質性更改,請提出一個新問題,而不是更改現有問題。 – 2010-01-15 03:33:59

相關問題