在 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 分隔符。
一些有用的读物:
有关 datatypes in sqlite3 的更多信息,包括类型之间的转换规则。
Syntax of numeric literals in sqlite3(特别提到它总是使用句号而不是逗号)。
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 分隔符。
一些有用的读物:
有关 datatypes in sqlite3 的更多信息,包括类型之间的转换规则。
Syntax of numeric literals in sqlite3(特别提到它总是使用句号而不是逗号)。