Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sqlite中的浮点和整数之间进行选择时出现乘法运算问题_Sqlite_Select_Multiplication_Operation - Fatal编程技术网

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

在sqlite中的浮点和整数之间进行选择时出现乘法运算问题,sqlite,select,multiplication,operation,Sqlite,Select,Multiplication,Operation,嗨,当我在一个浮点数和一个整数之间做这个运算时,我遇到了这个问题 select codventa, cantidad, precio, cantidad * precio from ventas v, detallesventas dv where v.codventa = 23 and dv.codventa = v.codventa 结果是396,而不是399,96。我不知道为什么Sqlite使用,而不是,作为浮动指针数字的小数点(有任何sql数据库接受逗号吗?) 当您将一个数字(4)乘

嗨,当我在一个浮点数和一个整数之间做这个运算时,我遇到了这个问题

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

结果是396,而不是399,96。我不知道为什么Sqlite使用
,而不是
作为浮动指针数字的小数点(有任何sql数据库接受逗号吗?)

当您将一个数字(
4
)乘以一个字符串(
'99,99'
)时,字符串的前导数字部分将转换为一个数字,因此您将看到
4*99
的结果。(
从表中选择类型(precio)
将是
文本
,而不是
真实

SELECT 4*99,99
返回两列-一列
4*99
,一列
99
,因为逗号是列/值分隔符

一些有用的阅读:

  • 有关包含类型间转换规则的详细信息

  • 在sqlite3中(特别提到它总是使用句点,从不使用逗号)


我确实选择了4*99,99,它给了我这个结果,所以我认为问题在于我的区域设置的小数点分隔符是“,”字符。我认为如果您编辑您的问题以包含表定义会更好。请将记录也包括在文本中,而不是图像中。任何信息都应该在您的问题中,而不是在评论中。