这是我的查询:
select id, name, admin_user_id
from companies
where id = "21-09-20181535.abc";
结果:
21,anand,9331
由于id列是自动递增的,所以我期望没有结果,因为搜索字符串是字母数字。 我应该怎么做才能获得理想的结果?
答案 0 :(得分:1)
显式转换将处理此问题:
select id, name, admin_user_id
from companies
where cast(id as char) = "21-09-20181535.abc";
但这不会在id
上使用索引。
另一种选择是允许使用LIKE
运算符不使用通配符进行隐式转换:
select id, name, admin_user_id
from companies
where id LIKE "21-09-20181535.abc";
这与在字符类型上使用=
运算符相同。