这几天做了个需求,设计到一个工号的字段,这个字段有些是可以存为整数的,有些必须是字符,所以在数据表中字段的类型设置为了varchar的字符型
但是同事在写sql的时候,where中做了判断,如果工号是整数的,那么就不加引号,字符就加引号
比如:
auid是varchar的类型
select * from member where auid=1234 or auid='T2322'
当然这在查询的时候是可以查到这工号的,但是如果对auid建了索引,这样的查询是用不到索引的
select * from member where auid=‘1234’ or auid='T2322'
这样写才能用到索引,都加上引号