为什么SELECT ... WHERE id = a如果值是0则返回结果

拉蒙·巴克(Ramon Bakker)
Table preview 
Note: 'id' is an integer column (offcourse)

+-------------+
| id | value  |
+----+--------+
| 0  | abc    |
| 1  | def    |
+-------------+

查询:
1.返回abcSELECT value FROM table WHERE id = 0
2.返回defSELECT value FROM table WHERE id = 1
3.不返回任何内容:SELECT value FROM table WHERE id = 2
4.返回abcSELECT value FROM table WHERE id = 'a'

问题:为什么查询4返回abc应该没有结果吧?

戈登·利诺夫

MySQL在数字上下文中无提示地将字符串转换为数字。

它通过转换前导数字字符(例如数字,减号和小数点)来实现。

如果没有数字,它将停止。所以:

where id = 'a'

被解释为:

where id = 0

道德:永远不要在数字常量(或应为数字的常量)周围使用单引号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么“ where not in(select statement)”条件不返回与“ where(select statement> parameter)”相同的结果?

来自分类Dev

为什么“ where not in(select statement)”条件不返回与“ where(select statement> parameter)”相同的结果?

来自分类Dev

为什么SELECT * FROM table WHERE值!='1'不返回带有NULL的字段?

来自分类Dev

为什么我的SQL Union查询返回的值与手动SELECT WHERE查询不同?

来自分类Dev

如果where子句是零的整数,为什么SQL查询返回一个值?

来自分类Dev

为什么我的 SELECT 语句在 SELECT MAX(ID) 时返回 2 行?

来自分类Dev

为什么选择查询中where子句自动递增ID匹配“ true”的查询返回第一行?

来自分类Dev

MySQL SELECT WHERE ID IN函数()

来自分类Dev

MYSQL PHP:查询多个行,如果找不到“ WHERE IN” ID,则返回值

来自分类Dev

MYSQL PHP:查询多个行,如果找不到“ WHERE IN” ID,则返回值

来自分类Dev

如果Select语句不返回结果,为什么不分配空字符串或null值呢?

来自分类Dev

为什么id(id)和id(id(id))总是返回相同的值,而id(id(id(id(id))))会“循环”超过3个值?

来自分类Dev

MySQL-SELECT…WHERE ID IN(SELECT ...)

来自分类Dev

为什么SELECT * WHERE id = 1 ORDERBY在LIMIT 1不能像简单的二进制搜索那样在O(log n)中执行?

来自分类Dev

为什么linqtotwitter不返回ID

来自分类Dev

为什么sizeof(this-id)返回8?

来自分类Dev

select * from table where id = select max id in codeigniter

来自分类Dev

mysql:SELECT WHERE ID IN()和其他

来自分类Dev

为什么我的查询ID和返回ID不匹配?

来自分类Dev

为什么id(1)是id(1)返回False?

来自分类Dev

为什么 form.id 返回子输入而不是 id?

来自分类Dev

为什么我的graphQL查询返回没有“ where”过滤器的结果?

来自分类Dev

Oracle SQL Select查询返回的ID不符合where子句

来自分类Dev

为什么保持返回 0 的结果?

来自分类Dev

使用where id = last_insert_id()返回空结果集

来自分类Dev

为什么np.where的结果对于多维数组是只读的?

来自分类Dev

为什么此Linq Where子句不过滤结果

来自分类Dev

为什么此BigQuery WHERE NOT IN语句没有给出结果?

来自分类Dev

为什么 ON 子句和 WHERE 子句中的条件使结果不同?

Related 相关文章

  1. 1

    为什么“ where not in(select statement)”条件不返回与“ where(select statement> parameter)”相同的结果?

  2. 2

    为什么“ where not in(select statement)”条件不返回与“ where(select statement> parameter)”相同的结果?

  3. 3

    为什么SELECT * FROM table WHERE值!='1'不返回带有NULL的字段?

  4. 4

    为什么我的SQL Union查询返回的值与手动SELECT WHERE查询不同?

  5. 5

    如果where子句是零的整数,为什么SQL查询返回一个值?

  6. 6

    为什么我的 SELECT 语句在 SELECT MAX(ID) 时返回 2 行?

  7. 7

    为什么选择查询中where子句自动递增ID匹配“ true”的查询返回第一行?

  8. 8

    MySQL SELECT WHERE ID IN函数()

  9. 9

    MYSQL PHP:查询多个行,如果找不到“ WHERE IN” ID,则返回值

  10. 10

    MYSQL PHP:查询多个行,如果找不到“ WHERE IN” ID,则返回值

  11. 11

    如果Select语句不返回结果,为什么不分配空字符串或null值呢?

  12. 12

    为什么id(id)和id(id(id))总是返回相同的值,而id(id(id(id(id))))会“循环”超过3个值?

  13. 13

    MySQL-SELECT…WHERE ID IN(SELECT ...)

  14. 14

    为什么SELECT * WHERE id = 1 ORDERBY在LIMIT 1不能像简单的二进制搜索那样在O(log n)中执行?

  15. 15

    为什么linqtotwitter不返回ID

  16. 16

    为什么sizeof(this-id)返回8?

  17. 17

    select * from table where id = select max id in codeigniter

  18. 18

    mysql:SELECT WHERE ID IN()和其他

  19. 19

    为什么我的查询ID和返回ID不匹配?

  20. 20

    为什么id(1)是id(1)返回False?

  21. 21

    为什么 form.id 返回子输入而不是 id?

  22. 22

    为什么我的graphQL查询返回没有“ where”过滤器的结果?

  23. 23

    Oracle SQL Select查询返回的ID不符合where子句

  24. 24

    为什么保持返回 0 的结果?

  25. 25

    使用where id = last_insert_id()返回空结果集

  26. 26

    为什么np.where的结果对于多维数组是只读的?

  27. 27

    为什么此Linq Where子句不过滤结果

  28. 28

    为什么此BigQuery WHERE NOT IN语句没有给出结果?

  29. 29

    为什么 ON 子句和 WHERE 子句中的条件使结果不同?

热门标签

归档