在写sql语句时遇到的坑
当字段的数据类型为int整型时,查询时的where条件查询这个字段的类型为字符型sql会自动将字符型转为整型处理
比如
select * from b2c where id = '6sdf832dsdfs';
实际运行的语句是
select * from b2c where id = 6;
能避免则避免,如果避免不了可以参考下面处理方法:
select * from b2c wehre CAST(id as CHAR) = '6wefw2dsd';
select * from b2c where CONVERT(id, CHAE) = '6wefw2dsd';
这两个函数的参数类型:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED