На SQL сервере функция CONVERT успешно преобразует пустую строку в целое число (0):
SELECT CONVERT(int,'') AS Int
Однако функция CONVERT завершается неудачно при преобразовании пустой строки в десятичную:
SELECT CONVERT(decimal(3,0),'') AS Decimal
Есть ли логическая причина такой разницы в лечении?