当前位置: 首页 > 面试题库 >

MySQL自动将字符串转换为where子句中的整数?

云凌
2023-03-14
问题内容

我对MySQL并不陌生,但是今天巧合的是,我的代码中发生了一种奇怪的情况,这使我感到惊讶。有人可以解释为什么这给我相同的结果吗?

SELECT * FROM `products` WHERE id = 12

SELECT * FROM `products` WHERE id = '12ABC'

在这两种情况下,选择相同的记录都会得到相同的结果。我希望第二个人不会给我任何回报?我的ID字段是int(11)无符号的,并且auto_increment标志处于打开状态。


问题答案:

从MySQL文档:

运算符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容

文献资料

因此,基本上'12ABC'是投射到12



 类似资料:
  • 问题内容: MySQL是否会自动将字符串转换为数字值? 转换如何进行? ‘1234’= 1234吗? ‘1abc’= 1? ‘文本’= 1? 给定那是bigint类型的,该查询将如何解释? 问题答案: 前三个问题的答案是:是,是和否。 当字符串转换为数字时,它将成为value 。 描述类型转换的文档在这里。 对于您的查询: 该摘录摘自文档: 在所有其他情况下,将参数作为浮点数(实数)进行比较。 换

  • 问题内容: 我需要Java程序采用类似以下的字符串: 并将其转换为字符串数组,例如: 没有句号或标点符号(最好)。顺便说一句,字符串输入始终是一个句子。 有没有一种我看不到的简便方法?还是我们真的必须大量搜索空格并从空格之间的区域(即单词)创建新的字符串? 问题答案: String.split()将完成您想要的大部分操作。然后,您可能需要遍历单词以提取任何标点符号。 例如:

  • 如何将字符串值转换为整数,并将转换后的值乘以整数,这样我就可以得到300.00的结果。见下面的例子- 如果我像这样编码,那么我就会出错-

  • 问题内容: 如何在JavaScript中将字符串转换为整数? 问题答案: 最简单的方法是使用本机函数: 如果这对您不起作用,则有 parseInt , 一元加号 , 带有floor的parseFloat 和 Math.round 方法。 parseInt: 一元加号,如果您的字符串已经是整数形式: 如果您的字符串是浮点数或可能是浮点数,并且您想要一个整数: 或者,如果您要多次使用Math.floo

  • 问题内容: 有什么方法可以将null转换为Integer。null实际上是一个字符串,我在我的服务层中传递该字符串,将其接受为整数。因此,每当我尝试将null字符串强制转换为Integer时,都会引发异常。但是我必须将null转换为Integer。 问题答案: 您 不能 从String强制转换为Integer。但是,如果您尝试将字符串转换为整数,并且必须提供处理字符串的实现,请查看以下代码片段:

  • 问题内容: 给定一个数字: 将其转换为字符串的“最佳”方法是: 问题答案: 有多种方法: (我的偏爱) (我不知道编译器如何处理它,也许它和上面一样有效)