內施放的專欄中,我有這個疑問:如何選擇查詢
SELECT * FROM students
WHERE name LIKE '%ka%' OR
tel LIKE '%12%' OR
address LIKE '%ka%';
但tel
是整數類型列,因此,我不能使用%abc%
運營商那裏(雖然我需要那樣做)
如何在此查詢中投下tel
列?
內施放的專欄中,我有這個疑問:如何選擇查詢
SELECT * FROM students
WHERE name LIKE '%ka%' OR
tel LIKE '%12%' OR
address LIKE '%ka%';
但tel
是整數類型列,因此,我不能使用%abc%
運營商那裏(雖然我需要那樣做)
如何在此查詢中投下tel
列?
試試這個
SELECT * FROM students
WHERE name LIKE '%ka%' OR
CAST(tel as text) LIKE '%12%' OR
address LIKE '%ka%';
'列varchar不存在' – Saphire
好吧,你的主角讓我找到正確的答案: 'CAST(tel as text)like ...' – Saphire
好吧,那是因爲你沒有告訴數據庫。嘗試新的編輯 – fnightangel
轉換的tel
到text
型第一
cast(tel as text) LIKE '%12%' OR
你應該考慮改變你的列類型,如果你使用的不是int
型像int
索引和其他數據庫優化對於像這樣的查詢無效。
試試這個:
SELECT * FROM students
WHERE name LIKE '%ka%' OR
CONVERT(VARCHAR, tel) LIKE '%12%' OR
address LIKE '%ka%';
是你能得到這個工作?還有其他問題嗎? – paqogomez