這幾天做了個需求,設計到一個工號的字段,這個字段有些是可以存爲整數的,有些必須是字符,所以在數據表中字段的類型設置爲了varchar的字符型
但是同事在寫sql的時候,where中做了判斷,如果工號是整數的,那麼就不加引號,字符就加引號
比如:
auid是varchar的類型
select * from member where auid=1234 or auid='T2322'
當然這在查詢的時候是可以查到這工號的,但是如果對auid建了索引,這樣的查詢是用不到索引的
select * from member where auid=‘1234’ or auid='T2322'
這樣寫才能用到索引,都加上引號