ここで少し問題が発生しました。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';
それは完全にOKです!
これについてのアイデアはありますか?