在mysql中使用分数值
查询返回一个空集,而任何其他查询都返回值。我在这里哪里出错 您的错误是:0,13 改为:在mysql中使用分数值,mysql,sql,Mysql,Sql,查询返回一个空集,而任何其他查询都返回值。我在这里哪里出错 您的错误是:0,13 改为: SELECT * FROM salers WHERE comm IN (0.12, 0,13, 0.15); 您的错误是:0,13 改为: SELECT * FROM salers WHERE comm IN (0.12, 0,13, 0.15); “分数”值表示为定点值(decimal)或浮点值。后者与相等操作一起使用时非常麻烦 因此,除了逗号错误之外,如果comm是double或float,这可能是
SELECT * FROM salers WHERE comm IN (0.12, 0,13, 0.15);
您的错误是:0,13 改为:
SELECT * FROM salers WHERE comm IN (0.12, 0,13, 0.15);
“分数”值表示为定点值(decimal
)或浮点值。后者与相等操作一起使用时非常麻烦
因此,除了逗号错误之外,如果comm
是double
或float
,这可能是危险的。您可能会发现这样做效果更好:
SELECT * FROM salers WHERE comm IN (0.12, 0.13, 0.15);
或者,最好您可以查找以下范围:
where cast(comm as decimal(10, 2)) in (0.12, 0.13, 0.15)
其中comm>0.11和comm<0.16
“分数”值表示为定点值(十进制值)或浮点值。后者与相等操作一起使用时非常麻烦
因此,除了逗号错误之外,如果comm
是double
或float
,这可能是危险的。您可能会发现这样做效果更好:
SELECT * FROM salers WHERE comm IN (0.12, 0.13, 0.15);
或者,最好您可以查找以下范围:
where cast(comm as decimal(10, 2)) in (0.12, 0.13, 0.15)
其中comm>0.11和comm<0.16
通信列的数据类型是什么?打字错误?是否要在0和13之间使用逗号?Post“comm”列值和datatypecomm datatype为float,值为:0.12、0.13、0.10、0.11、0.15。0.13之间的逗号是一个错误,但即使有点,它也会返回空的setGeneral提示:never do equals对浮点值进行比较。(包括在内。)comm
列的数据类型是什么?输入错误?是否要在0和13之间使用逗号?Post“comm”列值和datatypecomm datatype为float,值为:0.12、0.13、0.10、0.11、0.15。0.13之间的逗号是一个错误,但即使有点,它也会返回空的setGeneral提示:never do equals对浮点值进行比较。(包括英寸)将值更改为十进制和工作英寸。谢谢大家。答案中的值真的很有价值。将值改为十进制并在中起作用。谢谢大家。这些答案真的很有价值。