好吧,我的任务是获取商品的销售价格。我发现要做到这一点,我需要从discount_percent中获取数据,并将其与card_price相乘。(在mysql中还不知道如何进行乘法和减法)。
select discount_percent from card_sales order by card_iddiscount_percent的输出是一个整数(就此而言,假设为"50")。但是,discount_percent是一个百分比,因此需要一个'.‘在它的前面。因此我使用了"CONCAT“
concat('.',card_sales.discount_percent) as 'newPrice'这很有效,但它现在不是整数。然后我试着对它进行强制转换。
cast(concat('.',card_sales.discount_percent) as signed) as 'newPrice'这显然只是抛出了一条错误消息。我做错了什么?或者有更简单的方法来做这件事?
发布于 2011-06-06 20:59:13
如果一个东西一开始就有小数点,那么它显然不能是一个整数,对吧?你会想把它转换成双倍,而不是签名。但我要说的是,最好用数字计算整个表达式;您可以通过将值除以100来获得百分比,而不是试图构造小数的文本。
就乘法而言,
SELECT 2 * 2;返回"4“。Here's一些关于Mysql算术的参考资料。
https://stackoverflow.com/questions/6252327
复制相似问题