当我用int字段中的字符进行搜索时,它给出了int字段中值为零的结果。
select * from table where b = "test"列b是int类型。所获得的结果是b的值为零的行。我怎样才能避免这种情况?
发布于 2016-09-26 19:12:54
MySQL有一个小小的怪癖,CAST('some text' AS INT)的收益率为零。同样发生的情况是,CAST('123some text' AS INT)生成123。
当您执行WHERE integer_valued_column = 'text'时,您的'text'被隐式地转换为整数值。这就是你所观察到的奇怪行为的原因。
“你怎么避免它呢?”Drew是对的。不要这样做。
https://stackoverflow.com/questions/39701099
复制相似问题