gpt4 book ai didi

mysql - 如何在mysql中进行精确比较?

转载 作者:行者123 更新时间:2023-11-28 23:47:04 25 4
gpt4 key购买 nike

考虑以下查询

SELECT 
('foo' + 1 - 1) = 'foo',
('foo' + 1 - 1),
'foo'

令我惊讶的是它返回 1, 0, 'foo'

那么 0 怎么等于 foo

以及如何声明 ('foo' + 1 - 1) = 'foo' 将返回 false (0)?

最佳答案

Type Conversion in Expression Evaluation 中描述了答案mysql 文档的一部分。

('foo' + 1 - 1) 由于表达式中运算符的数量和类型,表达式被评估为数字。在此上下文中,字符串“foo”被解释为 0。因此,上面的表达式翻译为 0+1-1 => 0。然后,将此数字与字符串“foo”进行比较。由于其中一个操作数是整数,另一个是字符串,因此比较是作为 float 进行的。在此上下文中,字符串“foo”被转换为 0。0 = 0 为真,因此结果为 1。

关于mysql - 如何在mysql中进行精确比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33439445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com