在 sqlite 中的浮点数和整数之间的 select 中进行乘法运算时出现问题

Problem doing multiplication operation in a select between a float and an integer in sqlite

Problem 您好,我在浮点数和整数之间进行此操作时遇到了这个问题。

select codventa, cantidad, precio, cantidad * precio from 
ventas v, detallesventas dv
where v.codventa = 23 and dv.codventa = v.codventa

结果是 396 而不是 399,96。我不知道为什么

Sqlite 使用 .,而不是 , 作为浮点数的小数点(any sql 数据库是否接受逗号为了它?)。

当您将数字 (4) 乘以字符串 ('99,99') 时,字符串的前导数字部分将转换为数字,因此您会看到 4 * 99。 (SELECT typeof(precio) FROM yourtable 将是 text,而不是 real)。

SELECT 4*99,99 returns 两列 - 一列 4*99,一列 99,因为逗号是 column/value 分隔符。

一些有用的读物​​: