このコードが0.34を出力した理由は分かりません(私は0.335を期待しました)。 TSQLカーソルは金額タイプの変数を自動的に切り上げますか? これについて知ってもらってください。TSQL Cursorは自動的にマネータイプ変数を切り上げます
DECLARE @Rate MONEY;
DECLARE csrRate
CURSOR FOR
SELECT 0.335
OPEN csrRate;
FETCH NEXT FROM
csrRate
INTO
@Rate
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @Rate
FETCH NEXT FROM csrRate INTO @Rate
END
CLOSE csrRate
DEALLOCATE csrRate
伝統的に、お金は小数点以下2桁です!また、MONEYデータ型を使用しないでください! –
'DECLARE csrRate CURSOR for SELECT CAST( '0.335' AS MONEY);を試してください。 –
@MitchWheat SQL Serverの 'MONEY'データ型は4桁を格納します。 SSMSでは、最大4桁の*表示も可能です。 –