mysql - 数字和字符串之间的SQL比较
问题描述
我最近在 SQL 中提出了一个有趣的结果。可能没那么有趣,但我无法处理它的内部运作方式。
发生的事情是,当我在 mysql 数据库上运行以下查询时。*
SELECT 1= 'string',0='string';
结果如下。
1= 'string'|0='string'|
-----------|----------|
0| 1|
因此,如果有人能够解开 SQL 中产生上述结果的布尔运算的内部工作原理,将不胜感激。谢谢
PS:我运行查询的原因是,我编写的查询构建器函数返回了以下格式的查询,结果集与预期相反。
SELECT * FROM table WHERE column IS NOT NULL = 'string';
结果集包括column
实际上为 NULL 的结果。(提示IS NOT NULL
查询部分中的所有 0 值都与string
该部分WHERE
子句中的 和共同返回 true 进行比较)
解决方案
推荐阅读
- php - 如何通过主题中的functions.php删除插件中类的构造函数中的动作?
- html - 如何有两个并排的键值对列,键和值之间的宽度固定?
- python - 删除包含常见停用词的二元组
- odoo-13 - 如何获取会话 ID?
- r - R中有没有办法用两个轴绘制一个图例?
- javascript - 本机 javascript 插件无法使其在浏览器上运行
- javascript - React/Redux 中的错误 - 需要赋值或函数调用
- html - 元素正确地粘在其他元素上
- php - 使用 mySQL 查询导致在 PHP 中进行另一个查询
- reactjs - 如何 webpack 一个 node_module 用于 React 和 ReactNative