当我在int字段中使用字符进行搜索时,它会给出int字段的值为零的结果。
select * from table where b = "test"
列b是int类型。获得的结果是b的值为零的行。 我怎么能避免这个?
答案 0 :(得分:1)
MySQL有一个小问题,CAST('some text' AS INT)
产生零。 CAST('123some text' AS INT)
收益123
也会发生。
执行WHERE integer_valued_column = 'text'
时,'text'
会隐式转换为整数值。这就是导致你观察到的奇怪行为的原因。
你如何避免它? @Drew是对的。不要这样做。