MySQL中两列的乘法 [英] Multiplication of two column in MySQL
本文介绍了MySQL中两列的乘法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想获取列fee
与列duration
之间的乘法结果,但是当我执行Select duration * fee
时,我得到0
!
I want to get the result of the multiplication between column fee
and column duration
, but when I do Select duration * fee
I get 0
!
此外,每一列*费用都会给我0 ...
Also, every column * fee gives me 0...
这是创建表脚本.
delimiter $$
CREATE TABLE `simvoip`
(
`prefix` varchar(45) DEFAULT NULL,
`destination` varchar(45) DEFAULT NULL,
`fee` varchar(45) DEFAULT NULL,
`calldate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`dst` varchar(80) CHARACTER SET latin1 NOT NULL DEFAULT '',
`dstchannel` varchar(80) CHARACTER SET latin1 NOT NULL DEFAULT '',
`duration` varchar(45) DEFAULT '0'
) ENGINE=InnoDB DEFAULT
CHARSET=utf8$$*
推荐答案
为了实现所需的功能,您需要将字符串列转换为数字.
In order to achieve what you want, you need to convert string columns into number.
尝试一下:
SELECT CAST(`duration` AS DECIMAL(10,4)) * CAST(`fee` AS DECIMAL(10,4))
FROM `simvoip`
顺便说一句,您要为服务器添加额外的工作,以便在将它们相乘之前先转换这些值.为什么不将其存储为DECIMAL
或Double
?
BTW, you are adding extra work for the server to convert the values first before multiplying them. Why not store the as DECIMAL
or Double
?
这篇关于MySQL中两列的乘法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文