In SQL Server, the CONVERT function successfully converts an empty string to integer (0):
SELECT CONVERT(int,'') AS Int
However, the CONVERT function fails when converting an empty string to a decimal:
SELECT CONVERT(decimal(3,0),'') AS Decimal
Is there a logical reason for this difference in treatment?