- 主题:from dai_li_shang where tui_jian_ma=0;为何输出的是记录总数
select count(*) ,guo_qi_time from dai_li_shang where tui_jian_ma=0;
这个语句,count(*) 的结果,怎么是3啊?我的dai_li_shang 表里,只有3条记录,怎么解释呢?谢谢
tui_jian_ma 是varchar类型,如果是int类型(比如user_info_id),是符合期望的。就是这个varchar类型,等于0,mysql是如何理解的呢?
select tui_jian_ma ,guo_qi_time from dai_li_shang where tui_jian_ma=0;
(把count(*) 换成了tui_jian_ma ,结果输出3条记录。如果把条件换成 where tui_jian_ma='0',结果的记录条数是0,是符合期望的)。
就是这个varchar类型,等于0,mysql是如何理解的呢?谢谢
--
FROM 120.242.238.*
会把tui_jian_ma的内容转换为数字然后和0比较
【 在 feng321 的大作中提到: 】
: select count(*) ,guo_qi_time from dai_li_shang where tui_jian_ma=0;
: 这个语句,count(*) 的结果,怎么是3啊?我的dai_li_shang 表里,只有3条记录,怎么解释呢?谢谢
: tui_jian_ma 是varchar类型,如果是int类型(比如user_info_id),是符合期望的。就是这个varchar类型,等于0,mysql是如何理解的呢?
: ...................
--
FROM 123.124.148.*
谢谢,一语中的,精简准确
【 在 SankHeart 的大作中提到: 】
: 会把tui_jian_ma的内容转换为数字然后和0比较
--
FROM 120.242.238.*