小数の扱いについてご教授ください。

以下のレコードのvalueはSQL Serverのfloat(倍精度小数)です。
valueは他のシステムでもつ単精度小数の値がSQL ServerのテーブルにINSERTされます。
diffは30分前の値との差分です。

本来diffはすべて30になるべきなのですが、一箇所だけ29があります。
それがなぜなのかご教授いただきたいです。

説明不足かもしれませんが、どうかよろしくお願いします。

Datetime,value,diff
2017/12/4 8:00 398278.59375 30.09375
2017/12/4 8:30 398308.59375 30.00000
2017/12/4 9:00 398337.68750 29.09375
2017/12/4 9:30 398367.68750 30.00000
2017/12/4 10:00 398397.81250 30.12500
2017/12/4 10:30 398427.81250 30.00000
2017/12/4 11:00 398457.81250 30.00000
2017/12/4 11:30 398487.90625 30.09375
2017/12/4 12:00 398517.90625 30.00000
2017/12/4 12:30 398548.00000 30.09375
2017/12/4 13:00 398578.00000 30.00000
2017/12/4 13:30 398608.09375 30.09375
2017/12/4 14:00 398638.09375 30.00000
2017/12/4 14:30 398668.09375 30.00000
2017/12/4 15:00 398698.18750 30.09375