2014-05-07 43 views
1

內施放的專欄中,我有這個疑問:如何選擇查詢

SELECT * FROM students 
WHERE name LIKE '%ka%' OR 
tel LIKE '%12%' OR 
address LIKE '%ka%'; 

tel是整數類型列,因此,我不能使用%abc%運營商那裏(雖然我需要那樣做)

如何在此查詢中投下tel列?

+0

是你能得到這個工作?還有其他問題嗎? – paqogomez

回答

3

試試這個

SELECT * FROM students 
WHERE name LIKE '%ka%' OR 
CAST(tel as text) LIKE '%12%' OR 
address LIKE '%ka%'; 
+0

'列varchar不存在' – Saphire

+0

好吧,你的主角讓我找到正確的答案: 'CAST(tel as text)like ...' – Saphire

+0

好吧,那是因爲你沒有告訴數據庫。嘗試新的編輯 – fnightangel

1

轉換的teltext型第一

cast(tel as text) LIKE '%12%' OR 

你應該考慮改變你的列類型,如果你使用的不是int型像int

索引和其他數據庫優化對於像這樣的查詢無效。

1

試試這個:

SELECT * FROM students 
WHERE name LIKE '%ka%' OR 
CONVERT(VARCHAR, tel) LIKE '%12%' OR 
address LIKE '%ka%';