SQL中字段类型是varchar,查询时用数字去查询


user表中有个type字段,数据类型为varchar,表里有条数据type字段为'7D',但在写sql的时候误将type字段当成integer。

select * from user where type = 7;

这时候会将type为‘7D’的数据查询出来。经过查阅资料,用integer去查询的时候,会将varchar类型的数据截取开头的数字部分来与之比较,所以‘7D’能被查询出来,当字符串开头没有数字时,会被当成0处理,例如第二条数据的type字段为'aaa',那么select * from user where type = 0; 能将第二条数据查询出来


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM