尝试使用sum来显示小数,但将其转换为整数。不确定是什么问题。这是sql小提琴:
http://sqlfiddle.com/#!2/b2961/1
SQL查询:
Select sum(PH) as PH from googlechart;
答案 0 :(得分:2)
根据用户的评论,他们并不打算对字段的值求和,而只是想以数字方式使用这些值。之前的答案是
select SUM(CAST(REPLACE(PH, ",", ".") AS DECIMAL(5,2))) from googlechart;
实际答案应该是:
select CAST(REPLACE(PH, ",", ".") AS DECIMAL(5,2)) from googlechart;
上面应该可以工作,但是这个小提琴目前正在测试它。说,实际上,你不应该将你想要的东西存储在以后作为任何类型的字符串。它应该在你的情况下存储为十进制或等效,并从那里你应该简单地转换。当您将数据输出给用户时,进入a。它既可以提高查询的速度,也可以让你使用内部函数到数据库,而不必进行3次单独的调用来做同样的事情。
这样说,您将日期和时间分成两个单独的字段。在大多数情况下,你最好将它们存储为单个字段,并相应地对它们进行逻辑处理,因为除非你也知道这一天,否则值本身通常很少,你仍然可以在时间上做逻辑如果你需要,可以使用。
答案 1 :(得分:1)
将PH值更改为08.11
和09.34
,而不是08,11
和09,34
INSERT INTO `googlechart` (`id`, `Date`, `Time`, `PH`, `Chlorine`, `Temperature`) VALUES
(7, '2014-04-01', '09:00:00', '08,11', '9.00', '12.00'),
(9, '2014-04-02', '11:00:00', '09,34', '10.34', '2.34');
到
INSERT INTO `googlechart` (`id`, `Date`, `Time`, `PH`, `Chlorine`, `Temperature`) VALUES
(7, '2014-04-01', '09:00:00', '08.11', '9.00', '12.00'),
(9, '2014-04-02', '11:00:00', '09.34', '10.34', '2.34');
答案 2 :(得分:0)
您将PH设置为varchar类型,您可以将其转换为十进制。
答案 3 :(得分:0)
问题是你使用逗号分隔小数,你应该使用“。” 。 并且还尝试避免将数字类型作为字符串处理。 你应该只是喜欢:
Insert into Customers(Name, Age) Values ('Bill', 4).