搜索字符串时仅考虑初始数字

时间:2018-09-21 07:18:32

标签: mysql

这是我的查询:

select id, name, admin_user_id 
from companies 
where id = "21-09-20181535.abc";

结果:

21,anand,9331

由于id列是自动递增的,所以我期望没有结果,因为搜索字符串是字母数字。 我应该怎么做才能获得理想的结果?

1 个答案:

答案 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";

这与在字符类型上使用=运算符相同。