坑之路--数据库SQL语句

在写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

猜你喜欢

转载自www.cnblogs.com/heiue/p/11325460.html