我有一个使用IN子句的MySQL查询.
SELECT SomeColumn
FROM SomeTable
WHERE SomeOtherColumn IN ('Some', 'Set')
Run Code Online (Sandbox Code Playgroud)
但是,我偶然发现了一个案例,其中SomeOtherColumn的值为0,MySQL将where子句计算为TRUE:
SELECT 0 IN ('Some', 'Set')
Run Code Online (Sandbox Code Playgroud)
评估到
1 (TRUE)
Run Code Online (Sandbox Code Playgroud)
MySQL版本5.5.46.任何人都知道为什么会这样?