Well. You are aware of Computed Columns in SQL Server. In a similar way you can also use Computed Parameters. Consider the following procedure.
Create procedure test
(
@datetime datetime,
@date date = @datetime
)
as
select @datetime as date_with_time, @date as date_only
When you execute the procedure you get this result
EXEC '2001-10-18 12:45:22.000'
date_with_time date_only
----------------------- ----------
2001-10-18 12:45:22.000 2001-10-18
As you see the parameter accepts the value supplied for @datetime and convert it to date datatype.
When you supply value for @date, it will ignore the value of @datetime, the default value for it
EXEC '2001-10-18 12:45:22.000','2012-01-22 19:15:12.000'
date_with_time date_only
----------------------- ----------
2001-10-18 12:45:22.000 2012-01-22
However it is not possible to use an expression for the computed paramters
ie @date date=dateadd(day,10,@datetime) will not work. You should be aware of this when you use paramers
this way.