gpt4 book ai didi

mysql - MySQL 查询中的奇怪返回

转载 作者:行者123 更新时间:2023-11-30 23:32:10 26 4
gpt4 key购买 nike

这里有个小问题。我定期对 MySQL 表中的货币进行自动更新。生成的查询的一部分是:

UPDATE ara_curr SET 
curr_xchange=REPLACE(CONVERT(CONVERT('1.60739',DECIMAL(9,5))/CONVERT('10000',DECIMAL(9,5)),DECIMAL(9,5)),'.',','),
curr_rev_xchange=REPLACE(CONVERT('6221.27',DECIMAL(9,5)),'.',',')
WHERE curr_name='IDR';

我从在线服务中获取值。但是这个查询返回

Out of range value for column (null) at row 1

但是,如果我将其分解,转换将返回这些

REPLACE(CONVERT('6221.27',DECIMAL(9,5)),'.',',') = 6221,27000
CONVERT('1.60739',DECIMAL(9,5)) = 1,60739
CONVERT('10000',DECIMAL(9,5)) = 9999,99999
CONVERT(CONVERT('1.60739',DECIMAL(9,5))/CONVERT('10000',DECIMAL(9,5)),DECIMAL(9,5)) = 0,00016

如果我尝试直接使用这些值运行查询,例如

UPDATE ara_curr SET curr_xchange='0,00016', curr_rev_xchange='6221,27000' WHERE curr_name='IDR';

它运行完美!

对此有什么想法吗?

最佳答案

curr_xchange 和 curr_rev_xchange 是什么数据类型?

如果我运行您的查询,它会将结果作为二进制数据返回。也许您可以围绕结果尝试使用 CAST 进行此修改。

UPDATE ara_curr SET 
curr_xchange=CAST(REPLACE(CONVERT(CONVERT('1.60739',DECIMAL(9,5))/CONVERT('10000',DECIMAL(9,5)),DECIMAL(9,5)),'.',',') AS CHAR),
curr_rev_xchange=CAST(REPLACE(CONVERT('6221.27',DECIMAL(9,5)),'.',',') AS CHAR)
WHERE curr_name='IDR';

关于mysql - MySQL 查询中的奇怪返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10006656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com