Нет абсолютно никаких веских и веских причин для этой практики.
И datetime
, и money
имеют размер 8 байт.datetime
имеет 4 байта, зарезервированных для date
, и 4 для time
.
money
имеет диапазон от -922,337,203,685,477.5808
до 922,337,203,685,477.5807
.При приведении от money
к datetime
целая часть обрабатывается как число дней с 1900-01-01
, а дробная часть - как процент дня.
Это означает, что вы теряете точность в time
часть (каждая 0.0001
приращение = 8.640
секунд) и получить бесполезную дополнительную шкалу в части date
, имея возможность хранить числа, слишком большие, чтобы когда-либо cast
успешно, до datetime
(который имеет максимумграница 9999 AD
)
Если возможно, исправьте схему.