ここで本当に苦労することになると思います。100 行をスポット チェックして手動で修正するのが最も簡単かもしれません。理由は次のとおりです。
DECLARE @x TABLE(m MONEY);
INSERT @x SELECT 153.30 UNION ALL SELECT 153.300;
SELECT m FROM @x;
結果:
m
------
153.30
153.30
SQL Server はそれらを同一のものとして表示します。テーブルに到着したら、これらの 2 つの値を区別するために、暗黙的または明示的に文字列 (またはバイナリ、またはその他の型) に変換する方法を見つけることができませんでした。
これで、ゼロで終わらない3 桁の 10 進数について、絞り込むことができる場合があります。
DECLARE @x TABLE(m MONEY);
INSERT @x SELECT 153.30 UNION ALL SELECT 153.300
UNION ALL SELECT 153.309 UNION ALL SELECT 24.125;
SELECT m FROM @x WHERE m * 1000 % 10 > 0;
結果:
m
-------
153.309
24.125
しかし、ゼロで終わるものについては、あなた自身です。それで、データを修正し、ユーザーの手首を叩いて、先に進みます。