首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mysql返回一些行,而它应该返回null?

问为什么mysql返回一些行,而它应该返回null?
EN

Stack Overflow用户
提问于 2012-04-26 23:45:32
回答 1查看 36关注 0票数 1

下面是myTable的结构

代码语言:javascript
复制
----------------
|id|info1|info2|
----------------
|0 |abcde|fghij|
|1 |qwert|yuopa|
----------------

下面是我调用的查询:

代码语言:javascript
复制
SELECT * FROM `myTable` WHERE `id` = 'a'

并返回第一行,即

代码语言:javascript
复制
|0 |abcde|fghij|

这是怎么回事?通常情况下,id是一个整数,但是,我错误地将其输入为字符串,但我仍然得到了结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-26 23:47:19

MySQL尝试将'a'转换为整数。该字符串不包含任何数值,因此强制转换的结果为0。这就是MySQL进行造型的方式。

代码语言:javascript
复制
SELECT 0 = 'a';

上面的查询返回1 (TRUE)。

代码语言:javascript
复制
SELECT CAST('a' AS SIGNED INTEGER);

上面的查询返回0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10336859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档