Ваше поле имеет числовой тип (с плавающей точкой), что означает, что вы не можете присвоить ему пустую строку или пробел. Когда вы пытаетесь, то конвертация становится 0 по умолчанию.
Вы можете попробовать установить его в null (если это разрешено вашим DDL) или, если вы действительно хотите иметь возможность назначать пробелы, вы можете сделать поле типом varchar и выполнять преобразования, когда вам нужно его вычислить. Это не рекомендуется, хотя. Лучше иметь дело с нулевым значением. (Я предполагаю, что вы хотите отобразить «ничего» в клиентском приложении, когда в поле нет значения.)