内施放的专栏中,我有这个疑问:如何选择查询
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