我正在尝试SELECT
根据标识符和价格对表进行匹配,例如:
SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';
上面的代码返回零行,而如果删除该price='101.31'
位,它将返回正确的行。
做…
SELECT * FROM `table`;
返回与上述相同的行,并明确指出price='101.31'
。然而select无法匹配它。更改=
为<=
使其生效-但这并不是解决方案。
有没有一种方法可以在执行操作之前将MySQL浮点数强制转换为2位数字,从而完成上述SELECT
工作(或其他解决方案)?
谢谢!
强制转换为小数对我有用:
SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);
但是,您可能首先要考虑将price
列设置为DECIMAL。通常认为DECIMAL是处理货币价值时使用的最佳类型。
问题内容: 我是MSSQL用户,现在将数据库转换为MySQL。我在MySQL中编写以下查询: 我得到以下错误 如何用MySQL正确编写这样的查询? 问题答案: 使用CREATE TABLE SELECT语法。 http://dev.mysql.com/doc/refman/5.0/en/create-table- select.html
问题内容: 我在MySQL中以浮动形式输入“ 35444650.00”,并且将格式重新设置为35444648.00,欢迎任何帮助… 问题答案: 浮点数仅具有一定的精度,您可能会超出浮点数据类型的精度。尝试改为使用DOUBLE。
问题内容: 是否可以遍历这样的表: 变成这个: 目的是选择所有s并将它们用作列。作为行,我喜欢使用所有s。 所有条件: 所有类型 但是如何将它们组合成一个视图或某物。像这样? 如果您喜欢玩数据。这是生成表的脚本: 问题答案: 不幸的是,MySQL没有您基本上想做的功能。因此,您将需要在语句中使用聚合函数: 参见带有演示的SQL Fiddle 现在,如果您要动态执行此操作,这意味着您不知道要转置的列
问题内容: 这是我的mysql查询 我想沿着边名选择一个增量计数器。所以预期的输出将是 问题答案: 这部分: 使得可以引入变量而无需单独的查询。因此,第一个查询也可以分为以下两个查询: 例如在存储过程中使用时。
问题内容: 我不太了解功能以及此处。实际上是什么意思? 为什么在这里我需要将浮点数转换为小数? 下面是相同的sql小提琴吗? http://sqlfiddle.com/#!2/1ed51b/1/0 我的问题再次重复: 实际上是什么意思? 为什么在这里我需要将浮点数转换为小数? 问题答案: 表示具有固定小数点的数字,总共有7位数字,其中2位在小数点右边。(因此,左5个,右2个。) 你并不 需要 ,除
问题内容: 我想了解MySQL中的某些特定行为。运行“ select @@ version”,我看到我的版本是5.6.34-log。 让我使用生成的表放置样本,以使其更易于重现: 正如标题所建议的那样,我最初搜索的是如何通过别名选择列,以便重用计算所得的字段,从而避免了冗长的查询。如文档中所述,大多数答案要么建议使用子查询,要么使用变量- 一种可读性差,而另一种则不能由自己的数据库开发人员来保证。